Python Web 爬取
Thomas Laetsch
Data Scientist, NYU
from scrapy import Selector
html = '''
<html>
<body>
<div class="hello datacamp">
<p>Hello World!</p>
</div>
<p>Enjoy DataCamp!</p>
</body>
</html>
'''
sel = Selector( text = html )
使用包含 html 代码的字符串创建了一个 scrapy Selector 对象
选择器 sel 选中了整个 html 文档
在 Selector 中使用 xpath 可选取 html 的特定部分并生成新的 Selector
返回的是由 Selector 对象组成的 SelectorList
sel.xpath("//p")# 输出 SelectorList: [<Selector xpath='//p' data='<p>Hello World!</p>'>, <Selector xpath='//p' data='<p>Enjoy DataCamp!</p>'>]
extract() 方法>>> sel.xpath("//p")out: [<Selector xpath='//p' data='<p>Hello World!</p>'>, <Selector xpath='//p' data='<p>Enjoy DataCamp!</p>'>]
>>> sel.xpath("//p").extract()out: [ '<p>Hello World!</p>', '<p>Enjoy DataCamp!</p>' ]
extract_first() 获取列表的第一个元素>>> sel.xpath("//p").extract_first()out: '<p>Hello World!</p>'
ps = sel.xpath('//p')second_p = ps[1]
second_p.extract()out: '<p>Enjoy DataCamp!</p>'
Python Web 爬取