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


