我是 python 的菜鸟,从今年夏天开始就断断续续地自学。我正在阅读 scrapy 教程,偶尔会阅读有关 html/xml 的更多信息以帮助我理解 scrapy。我对自己的项目是模仿scrapy教程以抓取http://www.gamefaqs.com/boards/916373-pc。我想得到一个线程标题列表以及线程 url,应该很简单!
我的问题在于不理解xpath,我猜也是html。在查看 gamefaqs 网站的源代码时,我不确定要查找什么来获取链接和标题。我想说只看锚标签并抓住文本,但我对如何做感到困惑。
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from tutorial.items import DmozItem
class DmozSpider(BaseSpider):
name = "dmoz"
allowed_domains = ["http://www.gamefaqs.com"]
start_urls = ["http://www.gamefaqs.com/boards/916373-pc"]
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//a')
items = []
for site in sites:
item = DmozItem()
item['link'] = site.select('a/@href').extract()
item['desc'] = site.select('text()').extract()
items.append(item)
return items
我想改变它以在gamefaqs上工作,那么我会在这条路上放什么?我想象程序返回的结果类似于这个线程名称线程 url 我知道代码并不正确,但有人可以帮我重写它以获得结果,这将帮助我更好地理解抓取过程。