CrawlSpider爬虫实战-猎云网爬虫(过程超详细)

CrawlSpider爬虫作用:可以定义规则,让Scrapy自动的去爬取我们想要的链接。而不必跟Spider类一样,手动的yield Request。创建:scrapy genspider -t crawl [爬虫名] [域名]提取的两个类:LinkExtrator:用来定义需要爬取的url规则。Rule:用来定义这个url爬取后的处理方式,比如是否需要跟进,是否需要执行回调函数等。猎云网爬虫1.需求:实现猎云网网站的文章数据爬虫。需要保存标题、发布时间、内容、原始url字段,然后异
摘要由CSDN通过智能技术生成

预备知识:在阅读本教程之前,需要对Scrapy框架有一定的了解,知晓Scrapy框架中每一个项目文件的作用。
推荐在阅读本文之前,先阅读以下这篇教程——轻松带你掌握Scrapy框架(以爬取古诗文网为例)https://blog.csdn.net/liumengqi11/article/details/112654295

CrawlSpider爬虫

  1. 作用:可以定义规则,让Scrapy自动的去爬取我们想要的链接。而不必跟Spider类一样,手动的yield Request。
  2. 创建:scrapy genspider -t crawl [爬虫名] [域名]
  3. 提取的两个类:
    • LinkExtrator:用来定义需要爬取的url规则。
    • Rule:用来定义这个url爬取后的处理方式,比如是否需要跟进,是否需要执行回调函数等。

猎云网爬虫

1.需求:实现猎云网网站的文章数据爬虫。需要保存标题、发布时间、内容、原始url字段,然后异步保存到mysql数据库中。

2.翻页链接:https://www.lieyunwang.com/latest/p1.html

3.翻页规则:Rule(LinkExtractor(allow=r’/latest/p\d+.html’), follow=True)

4.文章详情页规则:Rule(LinkExtractor(allow=r’/archives/\d+’), callback=“parse_detail”, follow=False)

5.使用twisted. enterprise.adbapi来异步的保存数据。

爬取过程

猎云网界面如下:
在这里插入图片描述详情页面如下:
在这里插入图片描述爬取过程:
1、新建文件搭建scrapy框架(以CrawlSpider的方式)
在命令提示符中输入以下三条命令:
scrapy startproject lyw
cd lyw
scrapy genspider -t crawl lyw_spider lieyunwang.com
2、在pycharm中打开文件,在item.py中定义要爬取的字段,并在setting.py中把机器人协议设置为False,并设置user-agent,解开ITEM_PIPELINES的注释
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

3、在文件夹下建立run.py文件,这样运行run.py文件就相当于运行整个文件了。run.py的代码如下:

from scrapy import cmdline
cmdline.execute("scrapy crawl lyw_spider".split(" "))

4、在lwy_spider.py中修改起始url,定义提取url的规则,代码如下:

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from ..items import LywItem

class LywSpiderSpider(CrawlSpider):
    name = 'lyw_spider'
    allowed_domains = ['lieyunwang.com']
    start_urls = ['https://www.lieyunwang.com/archives/p1.html']

    rules = (
        Rule
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值