【问题标题】:Scrapy: Google Crawl doesn't workScrapy:谷歌抓取不起作用
【发布时间】:2015-10-29 12:54:34
【问题描述】:

当我尝试在 Google 上抓取搜索结果时,Scrapy 只会生成 Google 主页: 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)

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

【问题讨论】:

    标签: scrapy


    【解决方案1】:

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

    有一个从Google/Bing/Baiduhttps://github.com/titantse/seCrawler抓取搜索结果的项目

    【讨论】:

      【解决方案2】:

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

      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路径。

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

      【讨论】:

      • 啊,是的。这是因为 Chrome 支持 Google。当我在 Safari 中尝试时,它会做同样的事情(重定向到 Google 主页)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2016-07-06
      • 2016-03-06
      • 1970-01-01
      • 2016-04-22
      • 2018-06-20
      • 1970-01-01
      相关资源
      最近更新 更多