Scrapy基本使用
介绍:
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理
或存储历史数据等一系列的程序中。
安装教程
# (1) pip install scrapy # (2) 报错1: building 'twisted.test.raiser' extension # error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ # Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools # 解决1 # http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted # Twisted‑20.3.0‑cp37‑cp37m‑win_amd64.whl # cp是你的python版本 # amd是你的操作系统的版本 # 下载完成之后 使用pip install twisted的路径 安装 # 切记安装完twisted 再次安装scrapy # (3) 报错2 提示python -m pip install --upgrade pip # 解决2 运行python -m pip install --upgrade pip # (4) 报错3 win32的错误 # 解决3 pip install pypiwin32 # (5) anaconda
Scrapy基本使用:
1. 创建爬虫的项目 scrapy startproject 项目的名字
注意:项目的名字不允许使用数字开头 也不能包含中文
2. 创建爬虫文件
要在spiders文件夹中去创建爬虫文件
cd 项目的名字\项目的名字\spiders
cd scrapy_baidu_091\scrapy_baidu_091\spiders
创建爬虫文件
scrapy genspider 爬虫文件的名字 要爬取网页
eg:scrapy genspider baidu http://www.baidu.com
一般情况下不需要添加http协议 因为start_urls的值是根据allowed_domains
修改的 所以添加了http的话 那么start_urls就需要我们手动去修改了
3. 运行爬虫代码
scrapy crawl 爬虫的名字
eg:
scrapy crawl baidu
项目中的srtting.py需要取消robots协议
# 注释掉之后 那么就不遵守robots协议了 他是一个君子协议 一般情况下 我们不用遵守
# ROBOTSTXT_OBEY = True
import scrapy class BaiduSpider(scrapy.Spider): # 爬虫的名字 用于运行爬虫的时候 使用的值 name = 'baidu' # 允许访问的域名 allowed_domains = ['http://www.baidu.com'] # 起始的url地址 指的是第一次要访问的域名 # start_urls 是在allowed_domains的前面添加一个http:// # 在 allowed_domains的后面添加一个/ start_urls = ['http://www.baidu.com/'] # 是执行了start_urls之后 执行的方法 方法中的response 就是返回的那个对象 # 相当于 response = urllib.request.urlopen() # response = requests.get() def parse(self, response): print('苍茫的天涯是我的爱')
分类:
爬虫
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术