框架就像建房子的地基
不再需要关注底层的东西
直接在地基上面利用 工程化的方法建造房子
框架(Framework)是一种编程模型,它为开发人员提供了一组通用的工具、库和规范,以便更快、更高效地开发应用程序。框架通常包括一些预定义的模块、类和函数,以及一些规范和标准,以确保开发人员在开发应用程序时能够遵循一致的设计原则和最佳实践。
框架可以帮助开发人员减少重复性的工作,提高代码质量和可维护性,同时也可以加速开发进程。常见的框架包括Web框架、移动应用程序框架、游戏开发框架等等
常见的Python爬虫框架包括:Scrapy PySpide
其他的属于爬虫实现功能的工具库
Scrapy:一个高级的Python爬虫框架,用于快速开发和部署爬虫。
Beautiful Soup:一个用于解析HTML和XML文档的Python库,常用于爬虫中的网页解析。
Requests:一个Python HTTP库,用于发送HTTP请求和处理响应。
Selenium:一个自动化Web测试工具,可以用于爬虫中模拟浏览器行为。
PyQuery:一个类似于jQuery的Python库,用于解析HTML文档。
BeautifulSoup4:一个用于解析HTML和XML文档的Python库,支持多种解析器。
PySpider:一个基于Python的分布式爬虫框架,支持多种数据存储和消息队列。
Crawlera:一个Python爬虫框架,用于处理代理和反爬虫问题。
以下是一些关于这些框架的链接:
Scrapy:https://scrapy.org/
Beautiful Soup:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
Requests:https://requests.readthedocs.io/en/master/
Selenium:https://www.selenium.dev/documentation/en/
PyQuery:https://pythonhosted.org/pyquery/
BeautifulSoup4:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
PySpider:https://docs.pyspider.org/en/latest/
Crawlera:https://support.scrapinghub.com/support/solutions/articles/22000200424-crawlera-faq
Scrapy是一个用于爬取网站数据的Python框架。它提供了许多工具和库,使得爬取网站数据变得简单和高效。Scrapy框架可以自动化地从网站上爬取数据,然后将数据存储到本地或者其他地方,例如数据库中。
Scrapy框架的特点包括:
高效:Scrapy框架使用异步网络库Twisted,可以同时处理多个请求,从而提高爬取效率。
可扩展:Scrapy框架使用插件式架构,可以方便地添加新的功能和扩展。
灵活:Scrapy框架提供了许多配置选项,可以自定义爬取规则和数据处理流程。
易用:Scrapy框架提供了丰富的文档和示例,使得初学者也可以轻松上手。
Scrapy框架的基本组件包括:
Spider:爬虫,用于定义爬取规则和处理网页数据。
Item:数据项,用于定义要爬取的数据结构。
Pipeline:管道,用于处理爬取到的数据。
Downloader:下载器,用于下载网页内容。
Scheduler:调度器,用于管理爬虫请求的优先级和顺序。
Scrapy框架的使用流程包括:
定义Spider,定义要爬取的网站URL和数据处理规则。
运行Spider,Scrapy框架会自动下载网页内容并根据规则提取数据。
将数据存储到本地或者其他地方,例如数据库中。
安装Python
首先需要安装Python,建议安装Python 3.x版本。可以从官网下载安装程序:https://www.python.org/downloads/
安装pip
pip是Python的包管理工具,用于安装和管理Python的第三方库。可以通过以下命令安装pip:
python get-pip.py
安装Scrapy
使用pip安装Scrapy:
pip install scrapy
安装Twisted
Scrapy依赖于Twisted,需要先安装Twisted:
pip install twisted
安装lxml
Scrapy使用lxml来解析HTML和XML文档,需要先安装lxml:
pip install lxml
安装pyOpenSSL
Scrapy使用pyOpenSSL来支持HTTPS请求,需要先安装pyOpenSSL:
pip install pyOpenSSL
安装cssselect
Scrapy使用cssselect来解析CSS选择器,需要先安装cssselect:
pip install cssselect
安装pywin32
如果使用的是64位的Python,需要安装pywin32:
pip install pywin32
import scrapy
# 创建python文件
# 导入信息 会提示不存在
# 鼠标放上去 会提示下载
在要创建的文件夹下面输入
scrapy startproject firstbloodscrapy
scrapy startproject 是固定的 firstbloodscrapy是爬虫项目的名字
cd 到爬虫的工程目录下
tab 键 可以补全路径
cd .\firstbloodscrapy\
创建爬虫文件
scrapy genspider firstweb www.xxx.com
scrapy genspider 固定
firstweb 爬虫文件名字
www.xxx.com 爬取地址
创建后会 在 项目中显示
import scrapy
class FirstwebSpider(scrapy.Spider):
# name 文件名称 项目的唯一标识
name = "firstweb"
# 允许的域名 限制start_urls中 可以通行的链接 常常禁用
# allowed_domains = ["www.xxx.com"]
# 开始的url 可以存放多个
start_urls = ["https://www.baidu.com/"]
# 响应数据 请求的数据会放到response
def parse(self, response):
print(response)
pass
scrapy crawl firstweb
scrapy crawl 固定
firstweb 爬虫的唯一标识 name
为了获得数据请关闭
settings.py
# Obey robots.txt rules
ROBOTSTXT_OBEY = False
scrapy crawl firstweb --nolog
可以取消 日志打印 只显示 数据
或者在
settings.py 添加这个
LOG_LEVEL = "ERROR"