如何使用selenium在已爬取这页文件链接的同时翻页并一起爬取下页文件链接
如何使用selenium在已爬取这页文件链接的同时翻页并一起爬取下页文件链接
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- Kwan的解忧杂货铺@新空间代码工作室 2024-03-16 14:59关注
zxlcaiyuangungun 下午好🌅🌅🌅
本答案参考ChatGPT-3.5要使用Selenium在已爬取当前页的文件链接的同时翻页并一起爬取下一页的文件链接,你可以遵循以下步骤:
- 首先,使用Selenium启动浏览器并打开初始页面。
from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.get(url)
- 等待页面加载完成,确保能够获取到页面内容。
import time time.sleep(5)
- 使用XPath或CSS选择器等方法,从当前页面提取文件链接。
from lxml import etree page_source = driver.page_source html = etree.HTML(page_source) links = html.xpath('//td[@class="first-td"]//@href') print(links)
- 爬取当前页的文件链接后,执行翻页操作。可以点击下一页按钮或者直接使用键盘操作。
# 点击下一页按钮 next_button = driver.find_element_by_xpath('xpath_of_next_button') next_button.click() # 或者使用键盘操作 body = driver.find_element_by_tag_name('body') body.send_keys(Keys.PAGE_DOWN)
- 等待页面加载完成后,重复步骤3和步骤4,直到爬取完所有页的文件链接。
整个过程的代码示例如下所示:
from selenium import webdriver from selenium.webdriver.common.keys import Keys from lxml import etree import time url = "https://www.dg.gov.cn/gkmlpt/index#694" driver = webdriver.Chrome() driver.get(url) time.sleep(5) while True: page_source = driver.page_source html = etree.HTML(page_source) links = html.xpath('//td[@class="first-td"]//@href') print(links) next_button = driver.find_element_by_xpath('xpath_of_next_button') next_button.click() time.sleep(5)
请注意,你需要根据实际情况修改代码中的XPath表达式来定位下一页按钮。
希望能对你有所帮助!
解决 无用评论 打赏 举报
悬赏问题
- ¥15 状态图的并发态问题咨询
- ¥15 PFC3D,plot
- ¥15 VAE模型编程报错无法解决
- ¥100 基于SVM的信息粒化时序回归预测,有偿求解!
- ¥15 物体组批优化问题-数学建模求解答
- ¥15 微信原生小程序tabBar编译报错
- ¥350 麦克风声源定位坐标不准
- ¥15 apifox与swagger使用
- ¥15 egg异步请求返回404的问题
- ¥20 Ti毫米波雷达板同步