Python爬虫系统入门与多领域实战2024-学习指南

2024-07-01 23:50:36 浏览数 (2)

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 项目

  1. 打开终端,运行以下命令创建一个 Scrapy 项目: scrapy startproject myprojectBASH
  2. 进入项目目录: cd myprojectBASH
  3. 生成一个新的爬虫: scrapy genspider myspider example.comBASH

编写爬虫

打开 myproject/spiders/myspider.py 文件,编写爬虫代码:

代码语言:javascript复制
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 文件,例如:

代码语言:javascript复制
scrapy crawl myspider -o output.json

0 人点赞