码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 简单的爬虫架构和网页下载器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)

     

     

     

     

  • 相关阅读:
    YOLOv8检测obb标注hrsc数据集
    redis key 命名规范 键名称中的冒号 : 命名空间层次的表示
    wechat微信小程序项目整体思路和panda电影首页
    【面试经典150 | 数组】多数元素
    Selenium增加Chrome稳定性的参数
    MongoDB 基础了解(三)
    NPS:使用 Windows NPS Server 部署 802.1X 无线认证(3)
    【ROS2原理】IDL接口映射
    记:一次关于paddlenlp、python、版本之间的兼容性问题
    MSF(3)——apk和exe的加马
  • 原文地址:https://blog.csdn.net/qq_52031408/article/details/127894994
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号