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 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型