2 velomitkk velomitkk 于 2016.04.18 14:08 提问

python爬虫如何抓取包含JavaScript的网页中的信息

这里本科生一枚。。做本研要求抓取一些数据碰到了一些问题求指教> <
我想要抓取汽车之家上关于供应商的一些数据,然后在车型详情页里找到了关于供应商的框架源代码如下(只截取有用部分):
<br> //属性<br> document.domain = &quot;autohome.com.cn&quot;;<br> var page=1;<br> var parameters = {<br> isPage:0,<br> pageCount:0,<br> kindId:-1,<br> vId:23867,<br> pId: 110000,<br> cId: 110100,<br> sId: 0,<br> cityUrl: &#39;/frame/cms/GetProvinceCityList?SpecId=23867&amp;SeriesId=0&amp;roid1=2&#39;,<br> url: &quot;/frame/spec/{vId}/{pId}/{cId}/{sId}/{orderType}/{pageIndex}/{pageSize}?isPage={isPage}&amp;seriesId={seriesId}&amp;source={source}&amp;kindId={kindId}&quot; ,<br> kindUrl:&quot;/frame/cms/GetKindBySpec?specId={vId}&amp;provinceId={pId}&amp;cityId={cId}&amp;countyId={sId}&quot;,<br> panel:&quot;#dealer-box&quot;,<br> pageSize:5,<br> pageIndex: 1,<br> orderType :0,<br> seriesId:66,<br> source:&quot;defalut&quot;<br> };</p> <pre><code> $(&quot;[name=&#39;orderBy&#39;]&quot;).click(function() { parameters.orderType = $(this).attr(&#39;data-order&#39;); $(&quot;#orderCan .current&quot;).attr(&quot;class&quot;, &quot;linkname&quot;); $(this).attr(&quot;class&quot;, &quot;linkname current&quot;); //parameters.pageIndex = 1; var firstPage = $(&quot;#dealerListPager a[data=1]&quot;).eq(0); if (firstPage.length == 1) { firstPage.click(); } else { load(); } return false; }); seajs.config({version:&quot;1460100712877&quot;}); var $$; seajs.use([&#39;jquery&#39;,&#39;pop&#39;], function ($) { $$=$; }); $(function(){ jQuery(&quot;#orderCan a&quot;).each(function(){ if($(this).attr(&quot;data-order&quot;)==parameters.orderType) { $(&quot;#orderCan .current&quot;).attr(&quot;class&quot;,&quot;linkname&quot;); $(this).attr(&quot;class&quot;,&quot;linkname current&quot;); } }) }) &lt;/script&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://x.autoimg.cn/dealer/bbs/js/DealerArea20160413.js?t=2016041421&quot;&gt;&lt;/script&gt; </code></pre> <p>里面包含的信息应该怎么抓取呢?我是通过selenium来进入网页的框架,这些js应该怎么解析?我尝试着用前面的那些parameter凑出来URL,但是输入到浏览器中就会跳转到汽这个网站的首页,用urllib2打开的话会报错Error 10060,但是网什么的也都没有问题,是我的IP被封了还是需要一个什么特殊的代理??</p> <p>本科期间只学过python的两门课,对java没什么了解,求帮助呀QAQ谢谢大家啦</p>

2个回答

CSDNXIAON
CSDNXIAON   2016.04.18 14:12

python 网页爬虫
抓取Foursquare网页信息的爬虫
Python抓取淘女郎网页信息以及代码下载
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_23214785
qq_23214785   2016.05.25 11:31

一般的爬虫都无法爬取js生成的动态数据,我最近使用的是神箭手云爬虫,他们自带js渲染,在爬取动态网页这块做得是最好的了,你可以试试:http://www.shenjianshou.cn/

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!