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

做网站大型深圳市设计网站公司

做网站大型,深圳市设计网站公司,网站开发公司 网站空间,郴州网上报名小学系统登录前言#xff1a;这篇文章主要介绍JS逆向爬虫中最常用的request模块#xff0c;然后引出一系列的模块的概念#xff0c;当然Python中其他比较常用的还有很多模块#xff0c;正是这些模块也可以称之为库的东西构成了Python强大的生态#xff0c;使其几乎可以实现任何功能。下…前言这篇文章主要介绍JS逆向爬虫中最常用的request模块然后引出一系列的模块的概念当然Python中其他比较常用的还有很多模块正是这些模块也可以称之为库的东西构成了Python强大的生态使其几乎可以实现任何功能。下面就详细介绍一下这些内容。 1requests模块 requests 作为一个专门为「人类」编写的 HTTP 请求库其易用性很强因此在推出之后就迅速成为 Python 中首选的 HTTP 请求库。requests 库的最大特点是提供了简单易用的 AP!让编程人员可以轻松地提高效率。由于 requests 不是 Python 的标准 库因此在使用之前需要进行安装: pip install requests python诵过 reauests 可以完成各种类型的 HTTP 请求包括 HTTP、HTTPS、HTTP1.0、HTTP1.1 及各种请求方法 requests支持的方法 requests模块支持的请求: import requests requests.get(http://httpbin.org/get) requests.post(http://httpbin.org/post) requests.put(http://httpbin.org/put)requests.delete(http://httpbin.org/delete)requests.head(http://httpbin.org/get) requests.options(http://httpbin.org/get) get--发送一个 GET 请求用于请求页面信息。 options--发送一个 OPTIONS 请求用于检查服务器端相关信息, head-一发送一个 HEAD 请求类似于 GET 请求但只请求页面的响应头信息。 post--发送一个 POST 请求通过 body 向指定资源提交用户数据。 put--发送一个 PUT 请求向指定资源上传最新内容。 patch-一发送一个 PATCH 请求同 PUT 类似可以用于部分内容更新。 import requests res requests.get(https://ww3.sinaimg.cn/mw690/7772612dgy1hsmrek7r0gj21z41z4k2h.jpg) with open(风景.jpg,wb)as f:f.write(res.content) #直接对内容进行爬取res1 requests.get(https://video.pearvideo.com/mp4/short/20240917/cont-1796387-16037163-hd.mp4) with open(视屏.mp4,wb)as f:f.write(res1.content) #直接对内容进行爬取 requests的响应信息 print(respone.statuscodeprint(respone.headers) print(respone.text) print(response.json)2.编码 print(respone.content) print(response.encoding) UA反爬 请求头需要加上下面的标识 import requestsres1 requests.get(https://www.baidu.com,headers{user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 })with open(baidu.html,w,encodingutf-8)as f:f.write(res1.text) refererf反爬与requests请求参数 import requestsres1 requests.get(https://m.douban.com/rexxar/api/v2/movie/recommend?,headers{user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36,Referer:https://movie.douban.com/explore },params{tags: 喜剧, })# print(res1.text) print(res1.json()) # print(type(res1.json()))items res1.json()[recommend_categories] for i in items:print(i.get(data))for j in i.get(data):print(j.get(text)) 请求体的数据 模拟有道翻译的小程序 import requestsindata input(请输入:) res1 requests.post(https://aidemo.youdao.com/trans,headers{user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36,Referer:https://ai.youdao.com/ },params{},data{q:indata,from:Auto,to:Auto }) print(res1.text) print(res1.json().get(translation)) cookie反爬 cookie在用户登陆的时候生成一个当用户再次用浏览器请求相同的信息数据的时候就会自带一个cookie值cookie比对成功之后服务端会进行免登录而爬虫程序就会需要带cookie才可以爬取数据成功 #(1)模拟登录获取动态cookie res1requests.post(http://127.0.0.1:5000/auth, data{yuanuser,pwd:123 } #(2)响应cookie print(dict(res1.cookies))#(3)再次登录发送cookie res1 requests.get(http://127.0.0.1:5000/auth,headers{user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36},cookiedict(res1.cookies)) print(res1.text) session对象 #举例本地端口此程序无法实际运行 import requests session requests.session() session.post(http://127.0.0.1:5000/auth,data{user: yuan,pwd: 123,} ) #(2)携带cookie爬取数据 res2 session.get(http://127.0.0.1:5000/books) 代理IP 代理IP:反反爬使用代理ip是非常必要的一种反反爬的方式但是即使使用了代理ip对方服务器任然会有很多的方式来检测我们是否是一个爬虫比如:一段时间内检测IP访问的频率访问太多频繁会屏蔽;检查CookieUser-AgentReferer等header参数若没有则屏蔽;服务方购买所有代理提供商加入到反爬虫数据库里若检测是代理则屏蔽等。所以更好的方式在使用代理ip的时候使用随机的方式进行选择使用不要每次都用一个代理ip 2模块与包 模块初识 def add(x,y):return x ydef subtract(x,y):return x - ydef multiply(x,y):return x * ydef divide(x,y):return x / y# #调用其他文件中的接口的方式1 import cal import mul x 1 y 120 z cal.subtract(x,y) q mul.multiply(x,y) print(z)# 方式2 from cal import subtract from mul import multiply,divide from mul import * #mul文件内的接口都可以用 x 1 y 120 z subtract(x,y) print(z) 模块与包的导入本质 本质上面在一个启动文件中导入一个python程序包需要在启动文件一般名字是main同级目录及其以下的文件夹目录下面的导入的包 如下程序所示 from cal.cal import subtract from cal.mul import multiply,divide from cal.mul import * #mul文件内的接口都可以用 x 1 y 120 z subtract(x,y) print(z) 第三方包的导入与引用 1注意之际命名的python文件包的名字不可以与已有标准库或者下载的第三方的包一样 2通过from在启动文件中导入第三方包的时候程序就已经将第三方文件中的程序加载执行了一遍了 import sys # py程序文件导入报的路径都是通过下面加载的文件路径导入的 print(sys.path:::, sys.path) 自定义的包文件的导入 import os import sys print(sys.path:::,sys.path) path01 os.path.dirname(__file__) path02 os.path.dirname(path01) sys.path.insert(0,path02) 常见OS模块的接口 import os # 创建文件夹 # (1) # os.mkdir(我的模块) # 路径拼接 path os.path.join(我的模块,my.txt) print(path) with open(path, w, encodingutf-8) as f:data f.write(icwdgcbiwdbci)#(4)是否存在某文件或目录 print(os.path.exists(我的模块2))#(5) 检查某一文件中的文件名与其路径名 path1 (/Users/yuan/PycharmProjects/my.txt) print(os.path.basename(path1)) print(os.path.dirname(path1)) print(os.path.split(path1))
http://www.zqtcl.cn/news/692237/

相关文章:

  • 免费做英语卷子的网站wordpress去谷歌插件
  • 做网站费用网站极简设计
  • 兰州市建设工程安全质量监督站网站优化公司治理
  • 高质量的合肥网站建设天津百度网站快速优化
  • 千元低价网站建设wordpress修改文章时间
  • 做网站需要几个程序wordpress淘客api
  • 建筑公司网站源码本地建站教程
  • 甘肃省建设厅官方网站信息网腾讯企点qq
  • 搜狗收录网站建个网络平台多少钱
  • 电子商务网站开发目的和意义郑州网站优化的微博_腾讯微博
  • asp.net网站建设项目实战 董义革wordpress伪静态规则访问失败
  • 网站添加锚点网站备案名称更换
  • 手机商城网站如何企业网站建设及运营现状分析
  • 网站建设注意的问题网站模板 知乎
  • 自主设计和创建网站网站建设价格便宜
  • 高手做网站财经资讯网站该怎么做推广
  • 加强农业网站建设青岛全网营销推广
  • 做淘客网站怎么样济南软件公司排名
  • 企业网站优化兴田德润怎么样网站建设建设公司资质要求
  • 如何把网站做跳转浏览器链接地址wordpress 离线更新
  • 乌海学校网站建设wordpress默认主题下载
  • 海兴县做网站如何选网站建设公司
  • asp网站设为首页代码孝仙洪高速公路建设指挥部网站
  • 浦东新区网站开发人才网站建设策划书
  • 网站做flash好不好免费微信公众号素材网
  • 开发网站嵌入广告汕头电商网站建设
  • 电脑做科目一网站购物网站怎么创建
  • c2c网站建设公司wordpress被公众号干掉
  • wordpress托管建站网站页面布局和样式设计
  • 建站平台江苏省建设监理协会网站