刮擦:谷歌抓取不起作用



当我试图抓取谷歌搜索结果时,Scrapy只会产生谷歌主页:http://pastebin.com/FUbvbhN4

这是我的蜘蛛:

import scrapy
class GoogleFinanceSpider(scrapy.Spider):
    name = "google"
    start_urls = ['http://www.google.com/#q=finance.google.com:+3m+co']
    allowed_domains = ['www.google.com']
    def parse(self, response):
        filename = response.url.split("/")[-2] + '.html'
        with open(filename, 'wb') as f:
            f.write(response.body)

这个url作为起始url有什么问题吗?当我在浏览器中打开它时——把它放在地址栏中(而不是填写搜索表单)——我会得到有效的搜索结果。

在大多数情况下,谷歌会将蜘蛛重定向到CAPTCHA页面,bing搜索结果更容易抓取。

有一个从谷歌/必应/百度抓取搜索结果的项目https://github.com/titantse/seCrawler

是的,看起来该地址正在重定向到主页:

带有scrapy shell http://www.google.com/#q=finance.google.com:+3m+co:的示例

...
[s]   request    <GET http://www.google.com/#q=finance.google.com:+3m+co>
[s]   response   <200 http://www.google.com/>
...

检查你的url是有意义的,它不包含参数,但#q(不是url参数)和浏览器是识别出这一点并使其成为谷歌搜索的,所以它并不完全是url路径。

正确的谷歌搜索url是:http://www.google.com/search?q=YOURQUERY

相关内容

  • 没有找到相关文章

最新更新