我需要从给定锚标记的特定文本的href属性中提取url。在
from scrapy.spider import Spider
from scrapy.selector import Selector
from nba.items import NBAItem
class ESPNSpider(Spider):
name = "ESPN"
allowed_domains = ["espn.com"]
start_urls = ["http://espn.go.com/nba/teams"]
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//*[@id="content"]/div[3]/div[1]')
items = []
for site in sites:
item = NBAItem()
item['team_name'] = site.xpath('//a[@class="bi"]/text()').extract()
item['team_link'] = site.xpath('//a[@class="bi"]/@href').extract()
item['team_stats_link'] = site.xpath('//a[text()='Stats']/@href').extract()
items.append(item)
return items
这是我遇到麻烦的线路:
^{pr2}$我还试图:
item['team_stats_link'] = site.xpath('//a[contains(text(), 'Stats')]/@href).extract()
有问题的网站:http://espn.go.com/nba/teams
循环中的xpath应该以
.//
开头,换句话说,需要使其相对于site
。在我还使用
medium-logos
类遍历ul
内的li
标记,而不是使用content
在div
中搜索第三个div
中的第一个div
标记:它产生:
^{pr2}$相关问题 更多 >
编程相关推荐