如何用python爬取js动态生成内容的页面

作者&投稿:诸葛点 (若有异议请与网页底部的电邮联系)
如何用python爬取js动态生成内容的页面~

python 2.6 + selenium-2.53.6 + firefox45.0 + BeautifulSoup3.2.1
或者
python 2.6 + selenium-2.53.6 + phantomjs 2.1.1

对比一下过滤和没有过滤的标签,看看哪些属性不同,根据这些不同的属性来选择。

抓取js动态生成的内容的页面有两种基本的解决方案

1用dryscrape库动态抓取页面
js脚本是通过浏览器来执行并返回信息的,所以,抓取js执行后的页面,一个最直接的方式就是用python模拟浏览器的行为。WebKit 是一个开源的浏览器引擎,python提供了许多库可以调用这个引擎,dryscrape便是其中之一,它调用webkit引擎来处理包含js等的网页!

2 selenium web测试框架

selenium是一个web测试框架,它允许调用本地的浏览器引擎发送网页请求,所以,它同样可以实现抓取页面的要求。

python 2.6 + selenium-2.53.6 + firefox45.0 + BeautifulSoup3.2.1
或者
python 2.6 + selenium-2.53.6 + phantomjs 2.1.1


python网络爬虫可以干啥
Python网络爬虫可以用于各种应用场景,如数据采集、信息抓取、舆情监控、搜索引擎优化等。通过编写Python程序,可以模拟人类在浏览器中访问网页的行为,自动抓取网页上的数据。Python网络爬虫具有灵活性和可扩展性,可以根据需求自定义采集规则,获取所需的数据。同时,Python拥有丰富的第三方库和工具,如...

如何利用python爬取网页源码?
“我去图书馆”抢座助手,借助python实现自动抢座。在使用“我去图书馆”公众号进行抢座的时候,在进行抢座前我们都会进入一个页面,选定要选的座位之后点击抢座。通过分析网页源码,很容易定位座位元素的代码,座位元素的模板如下所示:在编写代码的过程中,我对抢座位这个过程进行的多次的抓包观察,发现...

如何用Python做爬虫?
我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看如何使用python来实现这样一个功能。具体步骤 获取整个页面数据首先我们可以先获取要下载图片的整个页面信息。getjpg.py coding=utf-8import urllibdef getHtml(url):page = urllib.urlopen(url)html = page.read...

如何利用Python来爬取网页视频呢?
前几天写了个爬虫,用path、re、BeautifulSoup爬取的B站python视频,但是这个爬虫有有个缺陷,没能获取视频的图片信息,如果你去尝试你会发现它根本就不在返回的结果里面。今天就用分析Ajax的方法获取到。分析页面 点一下搜索,这个url才会出现,或者点一下下一页 然后就构造这个请求就可以了。需要注意的...

python的爬虫是什么意思
Python爬虫即使用Python程序开发的网络爬虫(网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。其实通俗的讲就是通过程序去获取 web 页面上自己想要的数据,也就是自动抓取数据。网络爬虫(英语:web crawler...

Python爬取淘宝商品信息并生成Excel
后台有很多小伙伴私信问我关于python爬虫的知识和学习资源,今天这篇文章就简单介绍下python爬虫的知识点,并以爬取淘宝网的商品信息存到excel表格中进行演示,同样的本文的源码会同步至github,欢迎下载使用。2爬虫相关知识 在进行爬虫之前,需要先了解一些关于爬虫的基本知识。 首先我们需要先了解下爬虫的基本原理: 基本的...

爬虫是什么意思
上文介绍了python爬虫的一些基础知识,相信大家对于“python爬虫是什么意思”与“爬虫怎么抓取数据”有一定的的认识了。现在大数据时代,很多学python的时候都是以爬虫入手,学习网络爬虫的人越来越多。通常使用爬虫抓取数据都会遇到IP限制问题,使用高匿代理,可以突破IP限制,帮助爬虫突破网站限制次数。

如何用Python做爬虫
爬取豆瓣的时候,我总共用了100多台机器昼夜不停地运行了一个月。想象如果只用一台机子你就得运行100个月了...那么,假设你现在有100台机器可以用,怎么用python实现一个分布式的爬取算法呢?我们把这100台中的99台运算能力较小的机器叫作slave,另外一台较大的机器叫作master,那么回顾上面代码中的...

python为什么叫爬虫?
Python爬虫开发工程师,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。作为一...

爬虫是什么?为什么Python使用的比较多?
因此使用Python编写爬虫程序是个非常不错的选择。编写爬虫的流程 爬虫程序与其他程序不同,它的的思维逻辑一般都是相似的,所以无需我们在逻辑方面花费大量的时间。下面对Python编写爬虫程序的流程做简单地说明:先由urllib模块的request方法打开URL得到网页HTML对象。使用浏览器打开网页源代码分析网页结构以及...

眉县15782361630: 如何用python抓取js生成的数据 -
劳居九威: 如果对抓取的性能没有什么要求的话, 尝试一下selenium或者watir吧.web自动化测试脚本用好了可以做很多事情.利用你的浏览器执行好js, 然后再从dom里面取数据.另外一个情况, 如果你知道js是通过ajax或者api取数据的, 直接去抓数据源, 得到的不是json就是xml, 然后处理数据吧

眉县15782361630: 如何用python抓取js生成的数据?如何用python抓取js
劳居九威: 推荐一种办法:用userscript~~获取数据然后post到服务器~~

眉县15782361630: Python怎么获取js动态加载的数据 -
劳居九威: 利用WebBrowser控件来获取js动态加载的数据:首先,我要在DocumentCompleted事件里面完成内容获取的工作,因为该控件是在文档加载完成后触发的.其次,这个事件有个问题,就是说如果在页面中有iframe框架之类的,如果这个iframe加载完成也会触发这个事件,所以我们要做个判断:if (wb.ReadyState == WebBrowserReadyState.Complete && e.Url.ToString() == wb.Url.ToString()) wb.Document.Body.InnerHtml;//这样就获取到数据了

眉县15782361630: 如何抓取js动态生成的网页 -
劳居九威: js一般是通过ajax来获取列表,你可以找到ajax中的GET地址或者POST地址,来取得分页内容.

眉县15782361630: Python爬虫在处理由Javascript动态生成的页面时有哪些解决方案 -
劳居九威: 我们一直使用思路二中的方法1,也就是说用一个浏览器内容来运行JavaScript和解析动态内容,而用python模拟人在浏览器上做动作.这 个实现方案最自然,虽然有人一直在批评这样的速度比较慢,但是在实际运行环境中,大部分情况下你会...

眉县15782361630: Python怎么获取网页中js生成的数据 -
劳居九威: POST过去,跟js和python没关系,是个http请求.在python端parse.问题再具体些

眉县15782361630: python如何爬取js渲染后列表 -
劳居九威: 使用js渲染的列表优先查看是否能爬取js取得的数据源 若流量追踪无法检测到, 可以通过selenium等web自动化工具 若嫌弃这些工具太大, 可以用pyExecJs执行js

眉县15782361630: 如何用Python爬取动态加载的网页数据 -
劳居九威: 动态网页抓取都是典型的办法1. 直接查看动态网页的加载规则.如果是ajax,则将ajax请求找出来给python. 如果是js去处后生成的URL.就要阅读JS,搞清楚规则.再让python生成URL.这就是常用办法2. 办法2,使用python调用webkit内核的,IE内核,或者是firefox内核的浏览器.然后将浏览结果保存下来.通常可以使用浏览器测试框架.它们内置了这些功能 3. 办法3,通过http proxy,抓取内容并进行组装.甚至可以嵌入自己的js脚本进行hook. 这个方法通常用于系统的反向工程软件

眉县15782361630: 爬虫怎么爬取js动态生成的数据 -
劳居九威: 我用Jsoup写爬虫,一般遇到html返回没有的内容.但是浏览器显示有的内容.都是分析页面的http请求日志.分析页面JS代码来解决. 1、有些页面元素被隐藏起来了->换selector解决 2、有些数据保存在js/json对象中->截取对应的串,分析解决 3、通过api接口调用->伪造请求获得数据 还有一个终极方法 4、使用phantomjs或者casperjs这种headless浏览器

眉县15782361630: Python爬取动态生成的网页需要具备哪些知识或者使用哪 -
劳居九威: 需要网页编程基础,懂一些简单的ajax,需要会一种网页抓包调试工具.在Mozilla里有一个firebug. 如果有人教你,几天.我遇到一个人,教了她一个星期也没有弄会. 自己摸索有些难.可能也需要一个星期左右时间.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网