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

中堂镇做网站网络推广营销公司

中堂镇做网站,网络推广营销公司,物流网站建设哪个好,宁波seo搜索平台推广专业开篇 本文整理自《Python3 网络爬虫实战》,主要是httpx的使用。 笔记整理 使用urllib库requests库的使用,已经可以爬取绝大多数网站的数据,但对于某些网站依然无能为力。 这是因为这些网站强制使用HTTP/2.0协议访问,这时urllib和r…

开篇

本文整理自《Python3 网络爬虫实战》,主要是httpx的使用。

笔记整理

使用urllib库requests库的使用,已经可以爬取绝大多数网站的数据,但对于某些网站依然无能为力。
这是因为这些网站强制使用HTTP/2.0协议访问,这时urllib和requests是无法爬取数据的,因为它们只支持HTTP/1.1,不支持HTTP/2.0。

安装

  • 使用下面命令安装httpx
 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package httpx[http2]

基本使用

get

import httpx# 定义重试次数
retry_count = 3
for i in range(retry_count):try:# 设置超时时间为 10 秒response = httpx.get('https://www.httpbin.org/get', timeout=10)print(response.status_code)print(response.headers)print(response.text)breakexcept httpx.RequestError as e:print(f"请求失败,第 {i + 1} 次重试,错误信息: {e}")
else:print("多次重试后仍然失败,请检查网络或服务器状态。")

在这里插入图片描述
如果想要开启对HTTP/2.0的支持,需要手动声明一下:

import httpxclient = httpx.Client(http2=True) 
response = client.get('https://spa16.scrape.center/')
print(response.text)

在这里插入图片描述

其他

上面实现的是GET请求,对于POST请求、PUT请求和DELETE请求来说,实现方式是类似的:

import httpxr = httpx.get('https://www.httpbin.org/get',params={'name': 'germey'})
r = httpx.post('https://www.httpbin.org/post',data={'name': 'germey'})
r = httpx.put('https://www.httpbin.org/put')
r = httpx.delete('https://www.httpbin.org/delete')
r = httpx.patch('https://www.httpbin.org/patch')

Client对象

httpx中的Client对象,可以和requests中的Session对象类比学习。
官方比较推荐的是with as 语句,示例如下:

import httpxwith httpx.Client() as client:response = client.get('https://www.httpbin.org/get')print(response)

这个用法等同于下面这种:

import httpxclient = httpx.Client()
try:response = client.get('https://www.httpbin.org/get')print(response)
finally:client.close()

另外,在声明Client对象时可以指定一些参数,例如headers,这样使用该对象发起的所有请求都会默认带上这些参数配置:

import httpxurl = 'https://www.httpbin.org/headers'
headers = {'User-Agent': 'my-app/0.0.1'}
with httpx.Client(headers=headers) as client:response = client.get(url)print(response.json()['headers']['User-Agent'])

在这里插入图片描述

支持HTTP/2.0

要想开启对HTTP/2.0的支持,需要将http2设置为true

import httpxclient = httpx.Client(http2=True)
response = client.get('https://www.httpbin.org/get')
print(response.text)
print(response.http_version)

在这里插入图片描述

支持异步请求

import httpx
import asyncioasync def fetch(url):async with httpx.AsyncClient(http2=True) as client:response = await client.get(url)print(response.text)if __name__ == '__main__':asyncio.get_event_loop().run_until_complete(fetch('https://www.httpbin.org/get'))

在这里插入图片描述

以上便是本篇笔记的所有整理,希望对您能有所帮助~
感谢阅读!


文章转载自:

http://unyd7Ir1.tdppt.cn
http://H8pJfWDO.tdppt.cn
http://ly3C4a1D.tdppt.cn
http://6vjifYnX.tdppt.cn
http://ZVRYvZ7q.tdppt.cn
http://ab1HvzBN.tdppt.cn
http://Vi4l9f5g.tdppt.cn
http://SMMjC1Uj.tdppt.cn
http://iF1JypA5.tdppt.cn
http://0kBBCdCd.tdppt.cn
http://akVIkfCm.tdppt.cn
http://EeZWmazE.tdppt.cn
http://uJcxv1JU.tdppt.cn
http://IF0yQNh9.tdppt.cn
http://oN8Y9YbN.tdppt.cn
http://bHVSPyig.tdppt.cn
http://JuGMVhxt.tdppt.cn
http://lVvdM60z.tdppt.cn
http://VwE07cX4.tdppt.cn
http://EX2aKQyM.tdppt.cn
http://LE0mQirJ.tdppt.cn
http://Ufc9EAOF.tdppt.cn
http://O6aRgeAf.tdppt.cn
http://wPkOyYnK.tdppt.cn
http://rFWVxNvz.tdppt.cn
http://7P4q25Oz.tdppt.cn
http://f7lB0i3j.tdppt.cn
http://w2bXGimw.tdppt.cn
http://CpzlT65Y.tdppt.cn
http://ng87Kgh7.tdppt.cn
http://www.dtcms.com/wzjs/635612.html

相关文章:

  • 万户网络网站顾问网站备案号不存在
  • 网站开发团队人员网站架构怎么做
  • 怎样设置网站西安专业的网站设计费用
  • 有域名有服务器怎么建站网络优化工程师有多累
  • 网站开发需要考什么证wordpress project
  • 帝国cms7.0网站搬家换域名换空间等安装教程品牌建设对企业的作用
  • 能够做物理题的网站网站开发专业培训学校
  • 康保网站制作网站建设 pdf教程
  • 做视频特技的网站百度服务中心人工24小时电话
  • 网站建设运营费用包括哪些软件开发用什么软件
  • 帝国cms 网站地址设置网页设计师培训课程多少钱
  • 常州建设银行新北分行网站新网seo关键词优化教程
  • 做网站需要知道什么软件东莞网站建设手袋加工
  • 织梦手机网站怎么修改wordpress 板块
  • 企业门户网站建设管理制度比较好的网页网站设计
  • 大型网站建设技巧网站建设的栏目内容是
  • 最好的营销网站没有货源可以开网店吗
  • html网站开发视频濮阳手机网站建设
  • 做网站贷款个人网页设计需求分析
  • 做一个中英文网站的价格淘宝网网站建设目的
  • 服务器ip做网站企业网站建设 百度文库
  • 深圳开发微信公众号上海优化排名蓝天seo
  • 网站制作公司怎么赚钱海南网站设计
  • 谷歌外贸网站建站企业网站对企业有什么好处
  • 金融保险网站模板设计汽车网站
  • 沈阳网站建设思路重置wordpress密码
  • 网站开发体会网站代理 登陆
  • 网站开发数据库技术中山家居企业网站建设
  • 做特卖网站有什么网站免费seo快速排名系统
  • 高端的网站建设公司哪家好温州网站建设设计公司