爬虫_scrapy_项目结构目录和基本方法
1.scrapy的项目结构
scrapy项目的结构 项目名字 项目名字 spiders文件夹(存储的是爬虫文件) init.py(默认文件) 自定义的爬虫文件(核心功能文件*) init items 定义数据结构的地方,爬取的数据都包含那些 middleware 中间件 例如:代理 pipelines 管道 用来处理下载的数据 settings 配置文件 例如:robots协议 ua定义等
2.response的属性和方法
response.text 获取的是响应的字符串
response.body 获取的是二进制数据
response.xpath 可以直接是xpath方法来解析response中的内容(常用)
response.extract() 提取selector对象的data属性值(常用)
response.extract_first() 提取的slector列表(常用)
import scrapy class TcSpider(scrapy.Spider): name = 'tc' allowed_domains = ['https://hrb.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91'] start_urls = ['https://hrb.58.com/sou/?key=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91'] def parse(self, response): # 字符串 content = response.text # 二进制数据 # content = response.body # xpath span = response.xpath('//div[@id="filter"]/div[@class="tabs"]/a/span')[0] print('======================') print(span.extract())
3.scrapy架构组成
(1)引擎
自动运行,无需关注,会自动组织说有的请求对象,分发给下载器。
(2)下载器
从引擎处获取到请求对象后,请求数据
(3)spiders
spider类定义了如何爬取某个(某些)网站。包括了爬取的动作以及如何从网页的内容中提取结构化数据。换句话说,spider就是您定义爬取的动作及分析某个网页的地方。
(4)调度器
有自己的调度规则,无需关注。
(5)管道
最终处理数据的管道,会预留接口供我们处理数据。
典型应用:
①清理html数据
②验证爬取的数据(检查item包含某些字段)
③查重(并丢弃)
④将爬取结果保存到数据库中
4.scrapy工作原理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2021-05-30 Golang Map
2021-05-30 用js进行日期的加减
2021-05-30 easyui --input内容改变事件