我正在学习网页抓取,我正在尝试抓取这个网站http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights
所以当我做“scrappy crawl basket”的时候,即使xpath
的实验是正确的,结果也是空的。
所以它只给我姓名,团队,位置,身高(英寸),体重(磅),但没有数据
请,如果有答案,请解释这个问题,你是怎么知道的,如果有办法,因为我不想再次失败与同样的问题,谢谢。
我看到了一个类似的问题,有人说那个表不包含我试图删除的body,但还是一样。
它在shell中也不起作用,代码如下:
import scrapy
class BasketSpider(scrapy.Spider):
name = "basket"
allowed_domains = ["wiki.stat.ucla.edu"]
start_urls = ["http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights"]
def parse(self, response):
for row in response.xpath('//table[@class="wikitablet"/body/tr]'):
yield {
'name': row.xpath('.//th[1]/text()').get(),
'team': row.xpath('.//tr/th[2]/text()').get(),
'position': row.xpath('.//tr/th[3]/text()').get(),
'height': row.xpath('.//tr/th[4]/text()').get(),
'weight': row.xpath('.//tr/th[5]/text()').get(),
}
1条答案
按热度按时间nr9pn0ug1#
您在XPath中选择了错误的类
它是//table[@class=“wikitable”]
您已使用:[@class=“wikitablet”