Python爬虫框架Scrapy入门

开发环境:python+scrap;IDE:pycharm
入门文档:Scrapy文档

Scrapy安装

Scrapy在Python 2.7和Python 3.3或更高版本上运行(除了在Windows 3上不支持Python 3)。

通用方式:可以从pip安装Scrapy及其依赖:

pip install Scrapy

创建项目(以下指令都是基于控制台输入)

  1. 创建一个Scrapy项目
scrapy startproject itcast
  1. 使用命令行自动生成一个爬虫
cd itcast	#进入爬虫目录
scrapy genspider itcast itcast.cn
#itcast是爬虫名字,"itcast.cn"限制爬虫地址,防止爬到其他网站
  1. 在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
  1. 使用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

特别说明

  1. 在setting.py中设置LOG_LEVEL = "WARNING",减少打印信息,方便查看
  2. 在setting.py中设置ITEM_PIPELINES时,数字越大代表优先级越低
posted @ 2022-03-07 19:00  又一岁荣枯  阅读(62)  评论(0编辑  收藏  举报