没有来自Scrapy的输出

时间:2014-10-20 10:55:12

标签: scrapy scrapy-spider

我正在尝试从网址列表中抓取一些数据,例如http://basketball.realgm.com/international/league/12/French-LNB-Pro-A/teams来提取所有团队名称。下面是我的蜘蛛,它正在运行URL但没有获取任何数据?

from scrapy.spider import Spider
from scrapy.selector import HtmlXPathSelector
from teams.items import TeamsItem

class TeamsSpider(Spider):
    name = "teamcrawler"
    allowed_domains = ["basketball.realgm.com"]
    f = open("teamurls.txt")
    start_urls = [url.strip() for url in f.readlines()]

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        titles = hxs.select("/html/body/div[1]/div[2]/table/tbody/tr/td/div[2]/table/tbody/tr")
        items = []
        for title in titles:
            item = TeamsItem()
            item["URL"] = title.select("td[1]/a/@href").extract()
            item["Team"] = title.select("td[1]/a/text()").extract()
            items.append(item)
        print items
        return items

1 个答案:

答案 0 :(得分:0)

由于XPath中的tbody,您的XPath失败了。浏览器(如Firefox和Chrome)会将该节点添加到表中,如果它不在页面源中。

由于tbody节点可能位于页面源中,也可能不位于页面源中,因此您可以使用scrapy shell执行scrapy看到的交互式调试。用法:scrapy shell 'http://www.example.org'

相关问题:Parsing HTML with XPath, Python and Scrapy