爬虫---scrapy

本文介绍了如何在Ubuntu上安装Scrapy,包括安装依赖库和Scrapy框架。接着,详细阐述了Scrapy的基本流程,如创建项目、生成爬虫、运行爬虫等,并提到了如何自定义爬虫程序、定义items、设置settings以及创建pipelines。此外,还讲解了创建规则爬虫的方法,使用LinkExtractor设置爬取规则。
scrapy

ubuntu安装:

  • python3安装依赖库:sudo apt-get install python3 python3-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
  • 通过pip 安装 Scrapy 框架命令:sudo pip3 install scrapy
基本流程:
  1. startproject 创建一个新工程–scrapy startproject MySpider
  2. 进入项目目录 cd MySpider
  3. 在当前项目里创建爬虫: scrapy genspider atguigu ‘www.atguigu.com’
  4. 运行爬虫: scrapy crawl name

scrapy项目:自定义爬虫程序

  • 需要引入item字段:from 项目名.items import 项目Item
  • name:与爬虫程序相同
  • allowed_domains : 定义爬取的域名(可以省略或者写多个)
  • start_urls 爬取的起始网址
  • parse_item方法中写解析数据的代码,获取数据方式text = response.xpath('//div[@class="name"]/text()').extract()[0]
  • item需要创建一个实例化对象 item = nameItem()
  • 将数据放入itemitem['title']=title
  • yirld item 将每条数据返回

scrapy项目:items

  • MyscrapyItem类中定义要输出的变量 如:teacher_name = scrapy.Field()

scrapy项目:settings:

  • 配置图片保存路径 : IMAGES_STORE = “./Image”
  • ROBOTSTXT_OBEY = True 是否遵守爬虫协议
  • ITEM_PIPELINES 填写pipelines的路径,自定义输出管道 数字值越小优先级越高
  • COOKIES_ENABLED = False#是否启用cookie,默认是启用,要设置不起来,防止别人知道我们
  • LOG_FILE=’name.txt’ 日志保存文件
  • LOG_LEVEL=’DEBUG’ 日志打印级别

scrapy项目:pipelines:

  • 自定义输出管道
  • 自定义函数需要带(self,spider)两个参数
  • def open_spider(self, spider):
  • process_item方法必须写,而且不能修改名称,item是对应的数据,spider是爬虫
  • def close_spider(self,spider):
    使用pycharme运行爬虫

在项目根目录下创建一个py文件name任意,代码:

  • from scrapy import cmdline
  • cmdline.execute(“scrapy crawl atguigu”.split()) 参数为终端运行代码相同
创建规则爬虫
  1. scrapy genspider -t crawl spider_name xx.com
  2. spider_name.py:
    rules: 规则,可放多个规则的列表或元组
    rules = (
    Rule(LinkExtractor(allow=r’Items/’), callback=’parse_item’, follow=True),
    第一个参数是链接提取器(allow是正则,为空则取所有连接,deny取反)
    第二个参数是回调
    第三个参数是:是否允许深度爬取(follow=False只爬取当前页面)
    )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值