XPath 语法
XPath(XML Path Language)是一种用于在 XML 文档中查找信息的语言。XPath 通过在 XML 文档的结构中导航来选择节点或节点集。以下是 XPath 的一些基本语法:
基本语法
/
: 从根节点选取。//
: 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。.
: 选取当前节点。..
: 选取当前节点的父节点。@
: 选取属性。
节点选择
nodename
: 选取此节点的所有子节点。/
: 从根节点选取。//
: 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。.
: 选取当前节点。..
: 选取当前节点的父节点。@
: 选取属性。
示例
/bookstore/book
: 选取 bookstore 元素的所有 book 子元素。//book
: 选取文档中所有 book 元素。bookstore/book[1]
: 选取 bookstore 元素的第一个 book 元素。//title[@lang='en']
: 选取所有拥有名为 lang 的属性且属性值为 ‘en’ 的 title 元素。
Scrapy 框架教程
Scrapy 是一个为了爬取网站数据、提取结构性数据而编写的应用框架。使用 Scrapy 可以非常方便地实现一个爬虫。
安装 Scrapy
首先,确保你的系统上安装了 Python 和 pip,然后运行以下命令安装 Scrapy:
代码语言:javascript复制pip install scrapyBASH
创建 Scrapy 项目
- 打开终端,运行以下命令创建一个 Scrapy 项目: scrapy startproject myprojectBASH
- 进入项目目录: cd myprojectBASH
- 生成一个新的爬虫: scrapy genspider myspider example.comBASH
编写爬虫
打开 myproject/spiders/myspider.py
文件,编写爬虫代码:
import scrapy
class MySpider(scrapy.Spider):
name = "myspider"
start_urls = [
'http://example.com',
]
def parse(self, response):
for title in response.xpath('//title/text()').getall():
yield {'title': title}
for href in response.xpath('//a/@href').getall():
yield response.follow(href, self.parse)PYTHON
运行爬虫
在项目根目录下运行以下命令:
代码语言:javascript复制scrapy crawl myspiderBASH
保存爬取结果
你可以使用 -o
参数将结果保存为 JSON、CSV 或 XML 文件,例如:
scrapy crawl myspider -o output.json