scrapy爬虫初学者学习过程-----精通Python爬虫框架scrapy

scrapy爬虫初学者学习过程-----精通Python爬虫框架scrapy

视频资源链接:https://www.bilibili.com/video/BV1P4411f7rP?p=78
参考书:精通Python爬虫框架scrapy
作者:Irain
QQ联系方式:2573396010
微信:18802080892

安装和文档

在这里插入图片描述

在DOC命令使用命令行爬取百度网页:
scrapy shell https://www.baidu.com  # scrapy shell  + 目标网站

在这里插入图片描述

爬取百度网页成功、状态码:200

在这里插入图片描述

使用xpath语言从HTML文本抽取目标内容
response.xpath('/html').extract()   #  服务器反馈给客户端浏览器的内容HTML文本,存入response中。

在这里插入图片描述

百度网页HTML整个文本

在这里插入图片描述

第一次发布:2020年4月14日

一、创建项目和爬虫

在这里插入图片描述

1.创建项目

在这里插入图片描述

2.在项目创建爬虫

在这里插入图片描述
在这里插入图片描述

二、新项目的setting设置:

1.ROBOTSTXT_OBEY
ROBOTSTXT_OBEY = False   #  TRUE 改为 False  是否访问完整的根目录文件。如果访问中该文件不存在,则服务器返回为空

在这里插入图片描述

2.在请求头添加User-Agent

在这里插入图片描述在这里插入图片描述

三、执行爬虫

1.在DOC窗口执行爬虫
scrapy crawl spider_Choushibaike  # 在爬虫项目的目录下运行该命令

在这里插入图片描述
在这里插入图片描述

2.项目里执行爬虫

每次在DOC窗口下执行命令,会多做些不可必要的操作。在项目里建立一个py文件,减少不必要的时间和操作。

from scrapy import cmdline
cmdline.execute("scrapy crawl spider_csbk".split())
cmdline.execute(["scrapy", "crawl", 'spider_csbk'])    #  cmdline.execute("scrapy crawl spider_csbk".split())效果一样

在这里插入图片描述

执行情况

在这里插入图片描述

四、使用管道pipeline.py

参考链接:https://yq.aliyun.com/articles/693333
pipeline.py文件中,pipeline类不需要继承特定的基类,只需要实现特定的方法如:
open_spider:爬虫运行前执行的操作
process_item:爬虫获取到的每项item数据的处理方法
close_spider:爬虫运行结束时执行的操作
from_crawler:pipeline类方法,是创建item pipeline的回调方法,通常该方法用于读取setting中的配置参数。
其中process_item实现process_item(Item, Spider)固定方法,并return Item给后面的Pipeline处理或导出数据,但在处理中如果遇到错误,会抛弃该数据并停止传递。

1.启动管道前,需要配置。

在这里插入图片描述

2.管道py文件框架
import  json
class ChoushibaikePipeline(object):
    def __init__(self):
        self.fp = open("duanzi.json","w",encoding='utf-8')   # 管道类初始化,以w打开文件
    def open_spdier(selfs,spider):    # 爬虫开始钱,执行
        print('开始了')
    def process_item(self, item, spider):    # 爬虫开始过程,执行
        item_json = json.dumps(item,ensure_ascii=False)  # ensure_ascii=False:以中文字符保存
        self.fp.write(item_json + '\n')
        return item
    def close_spider(self,spider):    # 爬虫结束后,执行
        self.fp.close()
        print("over")

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200415171502326.p

3.结果展示

在这里插入图片描述

4.问题
4.1open_spider()没有执行(命名写错了)

在这里插入图片描述

五、专业Item.py传参

5.1Item中定义实例变量(author、content)

在这里插入图片描述

5.2在spider_csbk.py文件修改传参

在这里插入图片描述

5.3传参item类转化为字典

在这里插入图片描述

5.4item类传参的展示结果

在这里插入图片描述
第二次发布:2020年4月15日

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值