Python Scrapy刮掉了错误的信息

时间:2017-03-25 15:32:45

标签: python scrapy

我试图抓一些数据,但输出很奇怪。我正在抓取的信息是该页面的国家名称和人口LINK。但输出是:

['United States'] 328,131,075

这对我来说毫无意义,因为我正在从页面上抓取,其中包含有关德国的信息。

这是我的代码:

allowed_domains = ["geoba.se/country.php?cc=DE"]
start_urls = ['http://geoba.se/country.php?cc=DE/']

def parse(self, response):

    country = response.xpath('//*[@id="wrap"]/div[2]/div[2]/div[1]/div[1]/h2/b/text()').extract()
    pop_total = response.xpath('//td/div/table/tr/td[2]/text()').extract_first()

    print(country, pop_total)

我在这里缺少什么?结果应该是:

['Germany'] 80,594,017

当我使用scrapy shell时,我得到了正确的输出。

1 个答案:

答案 0 :(得分:2)

问题在于你的start_urls。它应该是“http://geoba.se/country.php?cc=DE”(没有最后的斜杠),否则该网站将始终显示在美国页面上。