• 简单的爬虫架构和网页下载器requests


    目录

    简单的爬虫架构:

    网页下载器:

    URL管理器:

    网页解析器:

    网页下载器requests:

    发送requests请求:

    接收requests请求:

    requests操作实例:


    简单的爬虫架构:

    网页下载器:

            负责通过URL将网页进行下载,主要是进行相应的伪装处理模拟浏览器访问、下载网页

    URL管理器:

            负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似增删改查的函数)

    网页解析器:

            负责网页信息的解析,这里是解析方式视具体需求来确定

    网页下载器requests:

            Requests是一个优雅的,简单的Python HTTP库,常常用于爬虫对网页中的内容下载;

            安装:pip install requests

    发送requests请求:

            requests.get/post(url,params,data,headers,timeout,verify,allow_redirects,cookies)

    • url:要下载的目标网页的url地址
    • params:字典形式,用于设置url后面的参数,比如 ?id=123&name=peiqi
    • data:字典或者字符串,一般用于post方法时提交数据
    • headers:设置user-agent,refer等请求头

            我们的爬虫会默认向服务器发送爬取请求,而一般情况下网站是不允许被爬虫访问的,输出的text信息中会出现抱歉,无法访问等。我通过更改User-Agent等可以实现网站请求。

    • timeout:超时时间,秒为单位
    • verify:True/False,是否进行HTTP证书验证,默认是,需要自己设置证书地址
    • allow_redirects:True或False是否做重定向处理,默认为是
    • cookies:附带本地的cookies数据

    接收requests请求:

                    r = requests.get/post(url)

    • r.status 查看请求状态码,200代表请求成功
    • r.status_code 查看网页编码,也可以修改编码,防止出现乱码情况
    • r.encoding
    • r.text 查看网页返回的内容
    • r.headers 查看返回的HTTP的headers
    • r.url 查看实际访问的url
    • r.content 以字节的方式返回内容,比如用于下载网页中的图片
    • r.cookies 服务器端写入本地的cookies数据

    requests操作实例:

    我们用ipython进行简单的requests操作,先导入requests(import requests),然后我们以百度的url地址来进行访问(www.baidu.com)

     

     

     

     

  • 相关阅读:
    android使用notification消息通知(工具类封装)
    JavaScript面向对象(2)—继承的实现
    Allegro Design Entry HDL(OrCAD Capture HDL)软件界面详细介绍
    vulnhub靶场之EVILBOX: ONE
    buuctf(探险1)
    尝试使用java写redis分布式锁
    set和map的使用
    JAVA集合框架
    系统日期如何在页面展示,框架是react或者vue3
    redis--高可用之持久化
  • 原文地址:https://blog.csdn.net/qq_52031408/article/details/127894994