如何在python中使用scrapy模块-创新互联
这篇文章将为大家详细讲解有关如何在python中使用scrapy模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
二道江ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!二、基本使用
2.1 环境安装
1.linux和mac操作系统:
pip install scrapy
2.windows系统:
先安装wheel:
pip install wheel
下载twisted:下载地址
安装twisted:
pip install Twisted‑17.1.0‑cp36‑cp36m‑win_amd64.whl
(记得带后缀)pip install pywin32
pip install scrapy
3.Anaconda(推荐)
在我一开始学python使用的就是python3.8,在安装各种库的时候,总会有各种报错,真的有点让人奔溃。Anaconda在安装过程中就会安装一些常用的库,其次,当我们想要安装其他库时也很方便。当然大家也可以选择安装其他的一些软件,
2.2 scrapy使用流程
这里默认大家已经安装好scrapy库,大家要记得要在命令行里输入以下命令啊。(我使用的anaconda的命令行)
创建工程
scrapy startproject projectName
进入工程目录:这里一定要进入到刚才创建好的目录中
cd projectName
创建爬虫文件:创建的爬虫文件会出现在之前创建好的spiders文件夹下
scrapy genspider spiderName www.xxx.com
编写相关代码
执行爬虫文件
scrapy crawl spiderName
2.3 文件解析
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)
2.4 settings.py一些常见的设置
相当于requests中的headers参数中的User-Agent
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'
可以忽略或者不遵守robots协议
ROBOTSTXT_OBEY = False
只有程序出现错误的情况下,才显示日志文件,程序正常执行时只会输出我们想要的结果
LOG_LEVEL='ERROR' == scrapy crawl spiderName --nolog //二者是等价的,当然还是推荐使用前者
未加LOG_LEVEL='ERROR'
加LOG_LEVEL='ERROR'
之后
scrapy 爬取文件保存为CSV文件中文乱码的解决办法
//下面的设置可能会导致繁体出现,可以逐个试一下 FEED_EXPORT_ENCODING = "gb18030" FEED_EXPORT_ENCODING = "utf-8" FEED_EXPORT_ENCODING = "gbk"
三、实例
3.1 实例要求
目的:爬取百度网页的百度热榜
3.2 实例代码
实例代码
关于如何在python中使用scrapy模块就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文章标题:如何在python中使用scrapy模块-创新互联
文章来源:http://myzitong.com/article/dohidj.html