python抓取动态网页(python爬取js执行后输出的信息 |
您所在的位置:网站首页 › python调用网页js › python抓取动态网页(python爬取js执行后输出的信息 |
关键句采集 原创(讲讲如何自己创造“伪原创”?(附方法)) python抓取动态网页(python爬取js执行后输出的信息--python库) Python 有很多库可以让我们轻松编写网络爬虫,爬取特定页面,获取有价值的信息!但很多情况下,爬虫获取到的页面只是静态页面,也就是网页的源代码,就像在浏览器上“查看网页源代码”一样。一些动态的东西,比如执行javascript脚本产生的信息,是无法捕获的。这里有一些解决方案可以用于python爬取js执行后输出的信息。 1、两个基本解决方案 1.1 使用dryscrape库动态抓取页面 js脚本由浏览器执行并返回信息。因此,在js执行后捕获页面最直接的方法之一就是使用python来模拟浏览器的行为。WebKit是一个开源的浏览器引擎,python提供了很多库来调用这个引擎,dryscrape就是其中之一,它调用webkit引擎来处理收录js的网页等等! import dryscrape # 使用dryscrape库 动态抓取页面 def get_url_dynamic(url): session_req=dryscrape.Session() session_req.visit(url) #请求页面 response=session_req.body() #网页的文本 #print(response) return response get_text_line(get_url_dynamic(url)) #将输出一条文本 这也适用于其他收录js的网页!虽然可以满足爬取动态页面的要求,但是缺点还是很明显:慢!它太慢了。其实想想也是有道理的。Python调用webkit请求页面,页面加载完毕后,加载js文件,让js执行,返回执行的页面。应该慢一点!另外,可以调用webkit的库还有很多:PythonWebkit、PyWebKitGit、Pygt(可以用它写浏览器)、pyjamas等,听说也可以实现同样的功能! 1.2 selenium web 测试框架 Selenium是一个web测试框架,允许调用本地浏览器引擎发送网页请求,因此也可以实现爬取页面的需求。 # 使用 selenium webdriver 有效,但会实时打开浏览器窗口 def get_url_dynamic2(url): driver=webdriver.Firefox() #调用本地的火狐浏览器,Chrom 甚至 Ie 也可以的 driver.get(url) #请求页面,会打开一个浏览器窗口 html_text=driver.page_source driver.quit() #print html_text return html_text get_text_line(get_url_dynamic2(url)) #将输出一条文本 这也是一个临时解决方案!类似selenium的框架也有风车,感觉稍微复杂一点,就不细说了! 2、selenium的安装和使用 2.1 selenium 的安装 要在 Ubuntu 上安装,您可以直接使用 pip install selenium。出于以下原因: 1. selenium 3.x 启动,在 webdriver/firefox/webdriver.py 的 __init__ 中,executable_path="geckodriver"; 并且 2.x 是 executable_path="wires" 2.firefox 47及以上版本需要下载第三方驱动,即geckodriver 还需要一些特殊操作: 1. 下载geckodriverckod地址: mozilla/geckodriver 2. 解压后将geckodriverckod存放在/usr/local/bin/路径下: sudo mv ~/Downloads/geckodriver /usr/local/bin/ 2.2 硒的使用 1. 运行错误: driver = webdriver.chrome() TypeError: 'module' object is not callable 解决方法:浏览器名称需要大写Chrome和Firefox,即 2. 由 content = driver.find_element_by_class_name('content') 定位元素时,此方法返回 FirefoxWebElement。当你想获取收录的值时,你可以通过 value = content.text 这是文章关于python如何爬取动态网站的介绍。更多关于python如何爬取动态网站的信息,请搜索python博客之前的文章或继续浏览以下相关文章希望大家以后多多支持python博客! 爆文采集器一键伪原创(爆文采集器一键伪原创,网站排名全靠它) 优采云采集器是一个根据用户提供的关键词,云端自动采集相关文章并发布到用户网站的网站采集器。它能够自动识别各种网页上的标题、正文等信息,不需要用户编写任何采集规则就可以实现全网采集。采集到内容后,会自动计算内容与所设定的关键词的相关度,只把相关的文章推送给用户。支持标题前缀、关键词自动加粗、插入固定链接、自动提取Tag标签、自动内链、自动配图、自动伪原创、内容过滤和替换、电话号码和网址清理、定时采集、百度主动提交等一系列SEO功能。用户只需设置好关键词和相关需求,就能实现全托管、零维护的网站内容更新。不限网站数量,不管是单个网站还是大批量站群,都可以非常方便的进行管理。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |