原文完整版:
要参考官方的网站 :
首先,大家可以在命令中运行 scrapy,这样可以看清楚 scrapy的每一步的返回结果。
scrapy shell http://doc.scrapy.org/en/latest/_static/selectors-sample1.html
例子网站:
http://doc.scrapy.org/en/latest/_static/selectors-sample1.html
源码:
<html> <head> <base href='http://example.com/' /> <title>Example website</title> </head> <body> <div id='images'> <a href='image1.html'>Name: My image 1 <br /><img src='image1_thumb.jpg' /></a> <a href='image2.html'>Name: My image 2 <br /><img src='image2_thumb.jpg' /></a> <a href='image3.html'>Name: My image 3 <br /><img src='image3_thumb.jpg' /></a> <a href='image4.html'>Name: My image 4 <br /><img src='image4_thumb.jpg' /></a> <a href='image5.html'>Name: My image 5 <br /><img src='image5_thumb.jpg' /></a> </div> </body> </html>
进去之后进可以使用xpath进行过滤标签了。
hxs=scrapy.Selector(response)
注意,官方使用的是比较旧的 hxs=scrapy.selector.HtmlXPathSelector(response) 现在已经不推荐了。
hxs.select("//title/text()").extract()[0]
输出的是第一个title标签的文字。
来看看
hxs.select("//base")
输出的是什么?
[<Selector xpath='//base' data=u'<base href="http://example.com/">'>]