Scrapy:获取页面上的数据和以下链接

时间:2014-05-05 18:51:58

标签: python html callback web-scraping scrapy

我一直在使用scrapy进行个人项目。我的问题与下页提出的问题非常相似:

Scrapy: Follow link to get additional Item data?

我正在抓的页面如下: http://www.tennisinsight.com/player_activity.php?player_id=51

此页面包含此表单中的匹配列表,例如:

16回合Def。 Ivan Dodig(37,2.41)(CRO)6-3 6-3回顾比赛统计$ 1.043

我目前用scrapy代码编写,打开页面上的每个链接,其中包含" Match Stats"链接,并将该页面上的数据写入单个记录

除此之外,我想抓住"赔率"列(上面是$ 1.043)并将此数据添加到记录中。

我已经搜索了一个答案,似乎我必须使用Request meta字段并将此数据传递给parse方法。但是,我有一个问题,因为我正在努力将其合并到我的代码中。我上面链接的stackoverflow链接的答案是"要抓取其他页面上的其他字段,在解析方法中提取带有附加信息的页面的URL,从该解析方法创建并返回具有该URL的Request对象并通过其meta参数传递已提取的数据。"

这很有道理,但是,我抓到的URL都在规则中,所以我不知道如何提取所需的数据。

到目前为止,这是我的代码的一部分,希望能更好地解释我的问题。

rules = (
Rule(SgmlLinkExtractor(allow=r"match_stats_popup.php\?matchID=\d+",
restrict_xpaths='//td[@class="matchStyle"]',
tags='a', attrs='href', process_value=getPopupLink), callback='parse_match', follow=True)

parse_match函数将匹配统计信息解析为一个项目。

所以会发生这些匹配统计链接中的每一个都打开了,我无法访问主页的赔率列。

非常感谢任何帮助。

0 个答案:

没有答案