我试图抓一些数据,但输出很奇怪。我正在抓取的信息是该页面的国家名称和人口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时,我得到了正确的输出。
答案 0 :(得分:2)
问题在于你的start_urls。它应该是“http://geoba.se/country.php?cc=DE”(没有最后的斜杠),否则该网站将始终显示在美国页面上。