scrayp创建爬虫的流程
1.在pycharm中打开PC终端,进入envs/虚拟环境目录
cd moniconda3安装目录\envs\虚拟环境目录
2.激活该虚拟环境
2.1 激活虚拟环境
conda active 虚拟环境名
2.2 在结束时退出虚拟环境
conda deactivate
如无虚拟环境下,以上两步可省略
3.创建爬虫项目
scrapy startproject 项目名
4.创建爬虫(可重复创建多个爬虫)
scrapy genspider 爬虫名
5.在charm中打开爬虫项目
6.修改settings.py
在settings.py中进行项目参数设置
6.1 UASER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0"
6.2 ROBOTSTXT_OBEY = False
6.3 LOG_LEVEL = "ERROR"
6.4 根据需要,可开启管道,大约在70行位置附近,查找ITEM_PIPELINES={}并取消注释
如创建了新管道,可在其字典中增加,其管道键值表示优先级,越小就越优先获得item数据
7.修改items.py
在items.py创建爬虫的数据类,该数据为字典格式,增加需要的数据名 = scrapy.Field()
这个类将在爬虫程序中引用并实例化
8.修改pipelines.py
创建本爬虫的管道类,需注意:
8.1 可增加构造函数,用于打开需写入的文件
8.2 修改process_item()方法
其用于存储数据,在其中增加
if spider.name == 爬虫名:
数据存储代码
return item
8.3 可增加 close_spider()方法,用于关闭写入的文件
9.修改爬虫.py
9.1 导入items.py中创建的本爬虫数据类
9.2 导入网页数据处理的库,如lxml,bs4等
from lxml import etree
from bs4 import BeautifulSopu
9.3 创建爬虫类,修改本爬虫类名,其中
name = 爬虫名
9.4 注释allowed_domains = []
9.5 修改start_urls列表,将需要爬的url加入其中
9.6 修改parse()方法
9.6.1 实例化爬虫数据类
item = 爬虫类名()
9.6.2进行网页数制分析,提取数据至item
9.6.3 用reuturn item或yield item,据情况而定
10.运行本爬虫
10.1 方法一:
在cmd中运行scrapy crawl 爬虫名
10.2 方法二:
建立一python文件,在pycharm中运行此文件,文件代码如下:
from scrapy import cmdline
if name == "main":
cmdline.execute("scrapy crawl 爬虫名".split())