您的位置 首页 > 数码极客

〔下拉加载页面如何爬取〕手机如何自动下拉页面…

在进行爬虫等数据采集任务,将爬取的页面保存成mhtml页面的时候,往往会遇到一些页面,存在懒加载的问题,这样就算将网页保存下来,里面的图片等都会丢失。这里介绍使用自动化测试工具解决懒加载的问题。

首先,懒加载是什么?其实网上有很多的专业介绍,这里我就用一句话概括,为了减轻服务器的压力,用户访问页面的时候,不会全部将页面加载,而是当用户浏览到哪,加载到哪。这样的结果就是当你保存页面的时候,有些数据是拿不到的,因为你没浏览到某个地方,这个地方的数据是无法加载的。

解决思路:用Selenium工具模拟用户浏览操作(也就是下拉页面),来让所有的数据都完全加载然后再保存数据。这样得到的mhtml页面就是完整图片数据的页面。

from selenium import webdriver from time import sleep driver = webdriver.Chrome("c;) driver.get(url) #实现滚轮向下滑动 search_html = driver.find_element_by_tag_name('html')#获取对应标签 height=['height']#获取html页面的总高度 for i in range(700,height,700): s=f'window.scrollBy(0,700)'#每次划700的单位 driver.execute_script(s) #向下滚动,0在第一位是向上向下,0在第二位是向左向右,负号决定具体方向 slee) #执行 Chome 开发工具命令,得到mhtml内容 res = driver.execute_cdp_cmd('Page.captureSnapshot', {}) with open('xxx.mhtml', 'w') as f: f.write(res['data'].replace('\r\n', '\n'))#后边一定要将\r\n替换成\n不然不会变成mhtml格式

注意:html和mhtml是两个东西,一个只包含静态页面,但其中的css,js之类的不存在;另外一个是将所有的数据放到一个文件中保存。切记

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“下拉加载页面如何爬取,手机如何自动下拉页面,下拉加载如何实现,笔记本如何下拉页面,mac如何下拉页面”边界阅读