velomitkk 2016-04-18 06:08 采纳率: 0%
浏览 3184

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>

  • 写回答

1条回答

  • qq_23214785 2016-05-25 03:31
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大