11.23:更新,每次还要打开浏览器多影响执行效率,看到虫师讲了chrome headless,非常好用
引用添加:
from selenium.webdriver.chrome.options import Options
代码添加:
chrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=chrome_options)
完整代码参考最下方
------------------------------------------------------------------简单分割线------------------------------------------------------------------
11.22:最近,是的又是最近,前端组件优化,我需要做一个非常简单但是机械的动作,就是点击各个页面的链接,确保访问都是正常的。于是想写个脚本, 简单实现验证网页无效链接.
本以为是个很简单的脚本,但是写着写着发现爬取的网页找不到<a>标签,也找不到链接地址,和前端小伙伴询问了一下,发现,html页面需要运行js后才会展示,直接爬取无法获得需要的信息。
解决思路:
1. 右键inspect后最重要的一个信息就是body部分有一个<div id='XXXX'>
2. 在网页控制台上执行 document.getElementById("ID").innerHTML可获取html页面信息,所以我的整体思路就是基于如何在python脚本里执行js
3. 于是,全网搜索,然大部分文章都一无所获,尝试了几种网上提供的办法,有一个看起来很靠谱的,是用dryscrape库,说是开源浏览器引擎webkit可以解决这个问题,而dryscrape就是其中一个库,

本文介绍了如何使用selenium和chrome headless模式爬取动态生成的JavaScript网页。作者在尝试解决爬取含有<div id='XXXX'>元素的网页时,通过执行JavaScript获取HTML内容,然后利用正则表达式提取链接,确保爬取有效链接。提供了完整代码示例。
1551

被折叠的 条评论
为什么被折叠?



