Python爬虫框架Scrapy入门
开发环境:python+scrap
;IDE:pycharm
入门文档:Scrapy文档
Scrapy安装
Scrapy在Python 2.7和Python 3.3或更高版本上运行(除了在Windows 3上不支持Python 3)。
通用方式:可以从pip安装Scrapy及其依赖:
pip install Scrapy
创建项目(以下指令都是基于控制台输入)
- 创建一个Scrapy项目
scrapy startproject itcast
- 使用命令行自动生成一个爬虫
cd itcast #进入爬虫目录
scrapy genspider itcast itcast.cn
#itcast是爬虫名字,"itcast.cn"限制爬虫地址,防止爬到其他网站
- 在spiders/itcast.py中添加方法
import scrapy
class ItcastSpider(scrapy.Spider):
name = 'itcast' #爬虫名
allowed_domains = ['itcast.cn'] #允许爬取的范围
start_urls = ['https://he-zi-yan.github.io/six/myhome.html'] #最开始请求的url地址
def parse(self, response):#处理start_urls地址对应的响应
# ret1 = response.xpath("//div[@class='col-md-1']//label/text()").extract()
# print(ret1)
#先分组
li_list = response.xpath("//div[@class='col-md-1']")
for li in li_list:
items = {}
items["name"] = li.xpath(".//label/text()").extract_first()
# print(items)
# request, item, or None
yield items #转发数据到piplines.py
- 使用piplines.py接收数据并显示
配置setting.py
文件,使piplines.py
能起作用
#将该段注释取消
ITEM_PIPELINES = {
'tutorial.pipelines.TutorialPipeline': 300,
}
使用piplines.py
接收并打印数据
class TutorialPipeline:
def process_item(self, item, spider):
item["hello"] = "world"
# print(item)
return item
特别说明
- 在setting.py中设置
LOG_LEVEL = "WARNING"
,减少打印信息,方便查看 - 在setting.py中设置
ITEM_PIPELINES
时,数字越大代表优先级越低