scrapy中的xpath如何用
时间: 2024-06-04 17:01:40 浏览: 110
Scrapy是一个基于Python的Web爬虫框架,它支持使用XPath来提取网页中的数据。
在Scrapy中使用XPath非常简单,只需要在Spider中定义好要爬取的URL和要提取的数据的XPath表达式,然后使用Selector进行选择器选择即可。
以下是Scrapy中XPath的使用示例:
1. 导入Selector:
```python
from scrapy.selector import Selector
```
2. 定义Spider:
```python
import scrapy
class MySpider(scrapy.Spider):
name = "myspider"
start_urls = [
"http://www.example.com/page1.html",
"http://www.example.com/page2.html",
"http://www.example.com/page3.html",
]
def parse(self, response):
# 使用XPath表达式提取数据
titles = response.xpath('//h1/text()').extract()
for title in titles:
yield {"title": title}
```
3. 运行Spider:
```sh
scrapy crawl myspider -o output.json
```
在上面的示例中,`parse()`方法使用XPath表达式`//h1/text()`提取网页中所有`<h1>`标签中的文本内容,并将其保存到JSON文件中。
需要注意的是,XPath表达式中的“/”表示选择当前节点的直接子节点,“//”表示选择当前节点及其所有后代节点。同时,也可以使用CSS选择器来提取数据,具体使用方式见Scrapy官方文档。
阅读全文