Scrapy没找到桌子

时间:2015-10-31 11:32:52

标签: python-2.7 web-scraping scrapy ipython

我正试图从http://www.oddsportal.com/basketball/usa/nba-2014-2015/results/

中的表中搜索数据

我想要的特定表有class =" table-main"

从scrapy response.xpath(' // table')

运行
In [28]:  response.xpath('//table')
Out[28]:
[<Selector xpath='//table' data=u'<table>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t<td c
lass="bol'>,
 <Selector xpath='//table' data=u'<table class="table-main top-event">\n\t\t\t'>
,
 <Selector xpath='//table' data=u'<table>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>\n\t\
t\t\t\t\t\t<tab'>,
 <Selector xpath='//table' data=u'<table class="rm-bonus-offer">\n\t\t\t\t\t\t\t
\t<'>,
 <Selector xpath='//table' data=u'<table>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>\n\t\
t\t\t\t\t\t<tab'>,
 <Selector xpath='//table' data=u'<table class="rm-bonus-offer">\n\t\t\t\t\t\t\t
\t<'>]

不会返回我想要刮的表。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

只需使用......

sel.xpath('.//table[starts-with(@class, "table-main")]')

sel.xpath('.//div[@id="top-event-box"]/table')

答案 1 :(得分:0)

我设法通过response.xpath获取该表(&#39; // * [@ id =&#34; tournamentTable&#34;]&#39;)

答案 2 :(得分:0)

Selector(response).xpath('//table[contains(@class, "table-main")]').extract_first()

我已经测试过,它有效。

请参阅scrapy doc

中的Selectors