python的爬虫笔记(1)scrapy框架学习

HTTP协议

http:普通http协议,不太安全
https:安全
请求方法(method) **
GET 常用于从服务器
获取数据
请求数据在URL中(也就是header中)
传输数据量小,支持缓存
POST 常用于向服务器
发送**数据
请求数据在body中
传输数据量admin,不缓存
PUT 类似POST,向服务器发送数据
HEAD 类似于GET,但服务器只返回头部,常用于检测浏览器是否在线
OPTIONS 对服务器进行一些配置
DELETE 要求服务器删除某个数据
状态码:
200 成功
404 请求的对象没有找到
500 服务器内部错误
503 服务器暂时不可用
1XX 消息
2XX 成功
3XX 重定向
4XX 客户端错误
5XX 服务器错误
其它 自定义状态码 HTTP状态码支持自定义,但一般用不着
爬虫执行流程:在这里插入图片描述
1.scrapy engine(引擎):Scrapy 框架核心部分。负责在Spider和ItemPipeline、Downloader、Scheduler中间通信、传递数据等。
2.Spider(爬虫):发送需要爬取的链给引擎,最好引擎把其他模块请求回来的数据再发送给爬虫,爬虫就去解析想要的 数据。这个部分是开发者自己写的,因为要爬取哪些连接,页面中的哪些数据使我们需要的,都是由程序员自己决定。
3.Scheduler(调度器):负责接收引擎发送过来的请求,并按照一定的方式进行排列和整理,负责调度请求的顺序等。
4.Downloader(下载器):负责接收引擎传过来的下载请求,然后去网络上下载对应的数据再交还给引擎。
5.Item Pipeline(管道):负责将Spider(爬虫)传递过来的数据进行保存。具体保存在哪里,看开发者自己的需求。
6.Downloader Middlewares(下载器中间件):可以扩展下载器和引擎之间通信功能的中间件。
Spider Middlewares(Spider中间件):可以扩展 引擎和爬虫之间 通信功能的中间件。

创建Scrapy
scrapy startproject qsbk在这里插入图片描述

scrapy gensipder qsbk “qiushibaike.com”
创建了一个名字叫做qsbk的爬虫,并且能爬取的网页只会限制在qiushibaike.com这个域名下。注意:爬虫名字不能和项目名称一样 。
在这里插入图片描述
项目目录结构:
1.items.py:用来存放爬虫爬取下来数据的模型。
2.middlewares.py:用来存放 各种中间件的文件。
3.pipelines.py:用来将items的模型存储到 本地磁盘中。
4.settings.py:本爬虫的一些配置信息(比如请求头、多久发送以此请求、ip代理池等)。
5.scrapy.cfg:项目的配置文件
6.spiders包:以后所有的爬虫,都是 存放到这个里面。在这里插入图片描述
最后代码:

class QsbkSpiderSpider(scrapy.Spider):
    name = 'qsbk_spider'
    #限制爬取范围,指定域名
    allowed_domains = ['qiushibaike.com']
    #开始爬取的url,可以传递多个
    start_urls = ['https://www.qiushibaike.com/text/page/1/']

    def parse(self, response):
        # print('=' * 40)
        # print(type(response))
        # print('=' * 40)
        #selectorlist
        duanzidivs = response.xpath("//div[@class='col1 old-style-col1']/div")
        for duanzidiv in duanzidivs:
            #selector
            author = duanzidiv.xpath(".//h2/text()").get().strip()
            content = duanzidiv.xpath(".//div[@class='content']//text()").getall()
            content = "".join(content).strip()
            print(author)
            print(content)

在pycharm的terminal运行qsbk_spider
scrapy crawl qsbk_spider在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值