官方文档:中文2.3版本
下面这张图大家应该很熟悉,很多有关scrapy框架的介绍中都会出现这张图,感兴趣的再去查询相关资料,当然学会使用scrapy才是最主要的。
pip install scrapy
pip install wheel
pip install Twisted‑17.1.0‑cp36‑cp36m‑win_amd64.whl
(记得带后缀)pip install pywin32
pip install scrapy
这里默认大家已经安装好scrapy库,大家要记得要在命令行里输入以下命令啊。(我使用的anaconda的命令行)
创建工程
scrapy startproject projectName
创建爬虫文件:创建的爬虫文件会出现在之前创建好的spiders文件夹下
scrapy genspider spiderName www.xxx.com
编写相关代码
import scrapy
class HelloSpider(scrapy.Spider):
name = 'hello' # 爬虫名称
# 允许的域名:限定start_urls列表当中哪些url可以进行请求的发送
# 通常情况下我们不会使用
# allowed_domains = ['www.baidu.com']
# 起始的url列表:scrapy会自动对start_urls列表中的每一个url发起请求
# 我们可以手动添加我们需要访问的url
start_urls = ['https://www.baidu.com/','https://www.csdn.net/']
def parse(self, response): # 当scrapy自动向start_urls中的每一个url发起请求后,会将响应对象保存在response对象中
# 代码一般是在parse方法中写
print("response:",response)
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68'
ROBOTSTXT_OBEY = False
LOG_LEVEL='ERROR' == scrapy crawl spiderName --nolog
//二者是等价的,当然还是推荐使用前者
//下面的设置可能会导致繁体出现,可以逐个试一下
FEED_EXPORT_ENCODING = "gb18030"
FEED_EXPORT_ENCODING = "utf-8"
FEED_EXPORT_ENCODING = "gbk"