2014-05-24 184 views
0

我想废除谷歌搜索和人们也搜索链接。Scrapy谷歌搜索

例如,当你在谷歌和你搜索克里斯托弗nolan。谷歌还制作了“人们也搜索”,其中包括与我们的搜索有关的人的图片,即克里斯托弗诺兰。在这种情况下,我们的人也搜索产品(Christian bale,Emma Thomas,Zack Synder等)。我有兴趣刮这些数据。

我使用scrapy框架,并写了一个简单的报废,但它返回一个空的csv数据文件。以下是我迄今为止的帮助表示赞赏的代码。希望一切都清楚我想达到的目标。我使用Xpath助手(谷歌应用程序)来帮助找到Xpath。

我的代码:

# PyGSSpider(spidder folder) 
from scrapy.contrib.spiders import CrawlSpider, Rule 
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor 
from scrapy.selector import Selector 
from PyGoogleSearch.items import PyGSItem 
import sys 

class PyGSSpider(CrawlSpider): 
    name = "google" 
    allowed_domains = ["www.google.com"] 
    start_urls = ["https://www.google.com/#q=christopher+nolan"] 

    #Extracts Christopher Nolan link  
    rules = [ 
     Rule(SgmlLinkExtractor(allow=("https://www.google.com/search?q=christpher+noaln&oq=christpher+noaln&aqs")), follow=True), 
     Rule(SgmlLinkExtractor(allow=()), callback='parse_item') 
    ] 

    #Parse function for extracting the people also search link. 
    def parse_item(self,response): 
     self.log('Hi, this is an item page! %s' % response.url) 
     sel=Selector(response) 
     item=PyGSItem() 
     item['peoplealsosearchfor'] = sel.xpath('//div[@id="cnt"]/@href').extract() 

     return item 

items.py:

from scrapy.item import Item, Field 

class PyGSItem(Item): 
    peoplealsosearchfor = Field() 
+1

你究竟在寻求什么帮助? – jdotjdot

+0

我是如何报废的人也搜索链接 – user3570205

回答

0

这将不工作的原因是因为谷歌执法者的算法防止机器人使用他们的搜索。

但是使用Selenium可能会诀窍。