码农知识堂 - 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)

     

     

     

     

  • 相关阅读:
    shiro基于cookie多服务器共享session,坑记录
    计算机操作系统 第二章:进程 的描述与控制(4)
    VAD打断方案
    【LeetCode每日一题】——404.左叶子之和
    APISpace 成语大全API
    DAO 中常见的投票治理方式
    【Leetcode】1901. Find a Peak Element II
    ncbi-datasets-cli-高效便捷下载NCBI数据
    【JavaEE多线程】线程中断 interrupt()
    Python必备学习资源(附链接)
  • 原文地址:https://blog.csdn.net/qq_52031408/article/details/127894994
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号