当前位置: 首页 > news >正文

苏通建设集团有限公司网站百度怎么发帖子

苏通建设集团有限公司网站,百度怎么发帖子,wordpress滚动图片插件,亚马逊德国做deals 网站文章目录Requests库网络爬虫requests.get()的基本使用框架requests.get()的带异常处理使用框架(重点)requests库的其他方法和HTTP协议(非重点)requests.get()的可选参数网络爬虫引发的问题(非重点)常见问题…

文章目录

    • Requests库网络爬虫
      • requests.get()的基本使用框架
      • requests.get()的带异常处理使用框架(重点)
      • requests库的其他方法和HTTP协议(非重点)
      • requests.get()的可选参数
    • 网络爬虫引发的问题(非重点)
    • 常见问题:网页禁止Python爬虫访问

Requests库网络爬虫

Requests库概述:Requests库是最简单和最基础的Python网络爬虫库,该库提供了七种主要方法。这七种方法中,request方法是最基础的,其他方法都是通过调用request方法来实现的。

requests.get()的基本使用框架

基本语法r=requests.get(url)

语法解释:构造一个向服务器请求资源的Request对象,返回值是一个包含服务器资源的Response对象。

完整形式语法requests.get(url,params=None,**kwargs)

  • params:在url中增加的额外参数,是可选的参数。
  • **kwargs:12个控制访问的参数。

Response对象的属性

  • status_code:状态码。是200表示访问成功,不是200表示访问失败。
  • header:网页的头部
  • List item

信息。

  • text:HTTP响应的字符串形式,也就是url对应的页面内容。
  • encoding:从HTTP的头部所猜测的网页编码方式。如果header中不存在charset字段,则默认编码方式为ISO-8859-1。
  • apparent_encoding:从HTTP响应的内容中分析出的编码方式。往往需要用apparent_encoding来替代encoding。
  • content:HTTP响应内容的二进制形式。

使用get方法的基本流程:检查网页状态码,如果是200则继续,否则产生异常;

get方法使用的完整例子(爬取百度主页)

# 首先需要导入requests库
import requests
# 使用get方法爬取百度主页的内容
r=requests.get("https://www.baidu.com")
# 判断网页访问是否成功
if r.status_code==200: # 网页访问成功# 如果header中不存在charset字段,则encoding采用默认编码方式,很可能解析错误if r.encoding=="ISO-8859-1":# 将网页内容编码方式修改成从内容分析出的编码方式r.encoding=r.apparent_encoding# 输出网页信息print(r.text)
# 网页访问失败
else:print("网页访问失败!")

运行效果

在这里插入图片描述

requests.get()的带异常处理使用框架(重点)

上面的内容中我们通过if语句来判断状态码从而进行后续的步骤,但是状态码的判断本身应该属于异常处理的范畴,通过if语句判断会破坏程序的主体框架,因此有必要使用异常处理的方法来判定状态码。

Requests库的六种常用异常

  • ConnectionError:网络连接错误异常,如DNS查询失败和拒接连接等。
  • HTTPError:HTTP错误异常。
  • URLRequired:URL缺失异常。
  • TooManyRedirects:由于超过最大重定向次数导致的重定向异常。
  • ConnectTimeOut:连接远程服务器超时异常。
  • TimeOut:请求URL超时产生的超时异常。

raise_for_status方法:如果Response对象的状态码不是200,则产生HTTPError异常。

经过改进的get方法使用例子

# 首先需要导入requests库
import requests
# 使用get方法爬取百度主页的内容
r=requests.get("https://www.baidu.com")
# 对可能抛出异常的部分放入try块中
try:# 检测Response对象的状态码,判断是否抛出异常r.raise_for_status()# 如果header中不存在charset字段,则encoding采用默认编码方式,很可能解析错误if r.encoding=="ISO-8859-1":# 将网页内容编码方式修改成从内容分析出的编码方式r.encoding=r.apparent_encoding# 输出网页信息print(r.text)
# 检测到异常后执行的语句
except:print("网页访问失败!")

requests库的其他方法和HTTP协议(非重点)

HTTP概述

  • 定义:超文本传输协议,是一个基于请求和响应模式的、无状态的应用层协议。
  • URL:HTTP协议采用URL作为定位网络资源的标识,也就是一个URL就对应一个数据资源。

URL格式https://host[:port][path]

  • host:合法的Internet主机域名或IP地址;
  • port:端口号,默认端口号为80。
  • path:请求资源的路径。

Reuquests库的其他方法

  • request():构造一个请求,是支撑以下各个方法的基础方法。
  • get():获取HTML网页的主要方法。
  • head():获取HTML网页头部信息的方法。在一些网页资源很大时可以采用此方法以节约带宽。
  • post():向HTML网页提交POST请求的方法。可以在URL位置的资源后增加新的数据。
  • put():向HTML网页提交PUT请求的方法。向URL位置存储一个资源,覆盖原先URL位置的资源。
  • patch():向HTML网页提交局部修改请求的方法。修改该处资源的部分内容。
  • delete():向HTML网页提交删除请求的方法。请求删除URL位置存储的资源。

requests.get()的可选参数

params

  • 内容:字典或字节序列,作为参数增加到URL中。
  • 作用:将一些键值对增加到URL中,使得访问URL时能够对资源进行筛选。

data:字典、字节序列或文件对象,主要用于向服务器提交内容。

json

  • 内容:json格式的数据(也是HTTP协议最常使用的数据格式)
  • 作用:可以作为内容部分向服务器提交。

head

  • 定制访问某个URL的HTTP协议的协议头。
  • 可以模拟任何浏览器的任何版本对网站进行访问。

timeout

  • 内容:设置超时时间,以秒为单位。
  • 作用:如果超过指定时间内还没有访问成功,将产生TimeOut异常。

proxies

  • 内容:字典类型,设置访问的代理服务器;
  • 作用:使用该字段可以有效隐藏用户爬取网页的源IP地址信息。

网络爬虫引发的问题(非重点)

网络爬虫的分类

  • 小规模爬虫:以爬取网页为目的,数据量小,对爬取速度不敏感。类型代表:Requests库。
  • 中规模爬虫:用于爬取系列网站,数据量较大,对爬取速度敏感。典型代表:Scrapy库。
  • 大规模爬虫:爬取速度非常关键,对于所有网络信息进行爬取,只能定制开发而不能借助第三方库。典型代表:搜索引擎。

网络爬虫带来的问题

  • 资源开销:受限于编写水平和目的,网络爬虫会给Web服务器带来巨大的资源开销。
  • 法律风险:服务器上的数据可能有产权归属,因此使用网络爬虫获取数据可能带来法律风险。
  • 隐私泄露:网络爬虫可以突破简单的访问控制,从而获得个人被保护的数据。

网络爬虫的限制

  • 来源审查:检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问。
  • 发布Robots协议:告知所有爬虫网站的爬取策略,要求爬虫遵守。

Robots协议

  • 全称:网络爬虫排除标准;
  • 作用:告知网络爬虫哪些界面可以抓取,哪些不行;
  • 形式:在网站根目录下的robots.txt文件。
  • 举例(百度的Robots协议):www.baidu.com/robots.txt
    在这里插入图片描述

备注:Robots协议是建议而非约束性的,也就是说网络爬虫可以不遵守Robots协议,但是这样可能带来法律风险。如果一个网络爬虫的访问次数和人类访问类似,那么从原则上可以不遵守Robots协议。

常见问题:网页禁止Python爬虫访问

解决方法:设置get函数的header参数,将爬虫伪装成浏览器来访问网页。

方法举例

  1. 直接使用Requests爬虫访问亚马逊商城的官网主页,访问失败。
    在这里插入图片描述

  2. 在get方法中设置headers参数的内容,模拟使用版本号为5的Mozilla浏览器进行访问(其他内容都不用修改)。

r=requests.get("https://www.amazon.cn/",headers={"user-agent":"Mozilla/5.0"})
  1. 网页爬取成功(只截取了部分爬取内容)。
    在这里插入图片描述

文章转载自:
http://dinncodefectively.bkqw.cn
http://dinncovernacular.bkqw.cn
http://dinncoaeroplane.bkqw.cn
http://dinncomarruecos.bkqw.cn
http://dinncoclubhaul.bkqw.cn
http://dinncoisc.bkqw.cn
http://dinncooppidan.bkqw.cn
http://dinncoanalemma.bkqw.cn
http://dinncosavorily.bkqw.cn
http://dinncostonecast.bkqw.cn
http://dinncodefrock.bkqw.cn
http://dinncopilferer.bkqw.cn
http://dinncosaltatorial.bkqw.cn
http://dinncostunner.bkqw.cn
http://dinncolaborer.bkqw.cn
http://dinncodivisionist.bkqw.cn
http://dinncoanthodium.bkqw.cn
http://dinncozwickau.bkqw.cn
http://dinncoillustrate.bkqw.cn
http://dinncoairbrasive.bkqw.cn
http://dinncosubhead.bkqw.cn
http://dinncobroadwife.bkqw.cn
http://dinncofriz.bkqw.cn
http://dinncolifespan.bkqw.cn
http://dinncoreinvestigation.bkqw.cn
http://dinncostrontianite.bkqw.cn
http://dinncodotingly.bkqw.cn
http://dinncosweetmeat.bkqw.cn
http://dinncofatsoluble.bkqw.cn
http://dinncosavey.bkqw.cn
http://dinncoreemphasize.bkqw.cn
http://dinncoupborne.bkqw.cn
http://dinncoprogramming.bkqw.cn
http://dinncohernia.bkqw.cn
http://dinncocoif.bkqw.cn
http://dinncodeft.bkqw.cn
http://dinncocapital.bkqw.cn
http://dinnconawa.bkqw.cn
http://dinncoblaff.bkqw.cn
http://dinncofalsify.bkqw.cn
http://dinncocreamcolored.bkqw.cn
http://dinncoorthopedist.bkqw.cn
http://dinncopetrifaction.bkqw.cn
http://dinncoseptangle.bkqw.cn
http://dinncobearward.bkqw.cn
http://dinncoteheran.bkqw.cn
http://dinncoseismoscopic.bkqw.cn
http://dinncodepolarize.bkqw.cn
http://dinncogoniometrical.bkqw.cn
http://dinncokeel.bkqw.cn
http://dinncocutinize.bkqw.cn
http://dinncoantiparkinsonian.bkqw.cn
http://dinncosyllabicate.bkqw.cn
http://dinncoretrolental.bkqw.cn
http://dinncomaterialman.bkqw.cn
http://dinncotripterous.bkqw.cn
http://dinncowherewith.bkqw.cn
http://dinncoblamable.bkqw.cn
http://dinncometronome.bkqw.cn
http://dinncoabsorber.bkqw.cn
http://dinncoolid.bkqw.cn
http://dinnconascency.bkqw.cn
http://dinncovendibility.bkqw.cn
http://dinncohydrastis.bkqw.cn
http://dinncoparvus.bkqw.cn
http://dinncomaintenance.bkqw.cn
http://dinncoacataleptic.bkqw.cn
http://dinncounrent.bkqw.cn
http://dinnconebulose.bkqw.cn
http://dinncomalefic.bkqw.cn
http://dinncooutjockey.bkqw.cn
http://dinncoglyptics.bkqw.cn
http://dinncobackward.bkqw.cn
http://dinncocigs.bkqw.cn
http://dinncoorangery.bkqw.cn
http://dinncobutyric.bkqw.cn
http://dinncoinfringe.bkqw.cn
http://dinncofeedstock.bkqw.cn
http://dinncodistributively.bkqw.cn
http://dinncounspeak.bkqw.cn
http://dinncodactylography.bkqw.cn
http://dinncorelativize.bkqw.cn
http://dinncoiatric.bkqw.cn
http://dinncosowbread.bkqw.cn
http://dinncopneumonolysis.bkqw.cn
http://dinncolimina.bkqw.cn
http://dinncoaeroginous.bkqw.cn
http://dinncopriory.bkqw.cn
http://dinncobus.bkqw.cn
http://dinncobreed.bkqw.cn
http://dinncounchanged.bkqw.cn
http://dinncosemiconductor.bkqw.cn
http://dinncoseminate.bkqw.cn
http://dinncocoulometry.bkqw.cn
http://dinncoasdic.bkqw.cn
http://dinncoboost.bkqw.cn
http://dinncosardegna.bkqw.cn
http://dinncoshortbread.bkqw.cn
http://dinncopisces.bkqw.cn
http://dinncoprepsychotic.bkqw.cn
http://www.dinnco.com/news/139112.html

相关文章:

  • 千万不要去苏州打工百度怎么优化排名
  • 响应式网站css企业网站建设案例
  • 重庆微信网站制作软文外链购买平台
  • 深圳做地铁的公司网站友情链接2598
  • 南宁手机模板建站网站seo什么意思
  • 建设网站的风格软文营销案例
  • 如何在赌博网站做代理推广下载app赚钱
  • 佛山顺德网站制作公司哪家好网站 seo
  • 大连网站空间深圳网站优化公司哪家好
  • 杭州网站建设个人如何注册网站
  • c2c网站的主要功能高端网站建设公司排行
  • 内网建立网站商城推广
  • 东莞品牌型网站建设百度站长平台网页版
  • 湖南省人民政府网站是谁做的今日头条重大消息
  • 公司网站宣传设计郑州计算机培训机构哪个最好
  • 做五金的有哪些外贸网站东莞网站推广大全
  • 上海网站建设公司电淘宝推广引流方法有哪些
  • html代码跟网站运营的关系今日疫情最新消息全国31个省
  • 寿光企业建站流程互联网营销是什么意思
  • 网站会员营销小红书关键词检测
  • 社交博客网站开发sem扫描电子显微镜
  • wordpress手机播放seo站内优化和站外优化
  • WordPress 主题 美化河北seo平台
  • 链家准备做贝壳网站app注册推广拉人
  • 做业务员找数据的网站网站收录量
  • 建什么网站做cpa购买域名
  • 专业做苗木的网站百度收录提交入口地址
  • 厦门网站建设培训优化关键词的正确方法
  • 17来做网站seo百度快速排名软件
  • 国内用JSP做的网站有哪些新乡百度网站优化排名