用于在Python中抓取由javascript呈现的文本的最快解决方案

时间:2016-04-27 04:09:54

标签: javascript python web-scraping screen-scraping

我是一个相对较新的抓手并试图抓住这个网站(很多很多很喜欢):http://www.superiorcourt.maricopa.gov/docket/CriminalCourtCases/caseInfo.asp?caseNumber=CR1999-012267

我使用Python和Scrapy。我的问题是,当我启动一个scrapy shell并将其指向此url时,响应主体充满了我无法读取的代码,例如:

  

C%* u9u \\&#39 ;! (VY} vyO&#34; <!EM> 9U#$&#34; V / !! &#34;!YJZ * 9U ## V /&#34;!!*%Y \\ _ 9U \\&#39;)&#34; v / \\&#39;!#myJO u9u $)} VY} vy9CC Ve的^ SdY_ ^ uvkT_Se ] U ^ dKju&#34;&amp;#$)\\&#39;)&amp; vMK9u)}&amp; vy} MKju!\\&#39; $#)(#(!#vMuvmy \\:* Ve) ^ ^ SdY_ \\ UCYÿ

我实际想要抓取的信息似乎无法访问。

我认为这是一个javascript问题,并且已经确认使用其他人之前建议的工具,如Selenium,正确呈现页面。我的问题是,我需要抓取数百万个这样的网站,并且不相信基于浏览器的解决方案会足够快。

有更好的方法吗?我不需要点击页面上的任何链接(我有一个我想要抓取的所有URL的长列表),或者以任何其他方式与它交互。响应正文是否可能包含我可以解析的JSON代码?

1 个答案:

答案 0 :(得分:0)

如果您只是想等待加载javascript数据,我会使用ScrapyJS

如果您需要与网站上的javascript元素进行互动,请使用Scrapy + Selenium + phantomjs。后者通常是一个更受欢迎的选择,因为它更容易学习,可以做得更多,但速度较慢