爱站网关键词挖掘易营宝网站建设

diannao/2026/1/17 5:37:34/文章来源:
爱站网关键词挖掘,易营宝网站建设,许昌住房城乡建设局网站,网站欣赏 公司网站案例四、#xff08;2#xff09;获取数据#xff08;补充urllib#xff09;#xff08;爬虫及数据可视化#xff09; urllibget请求post请求User-AgentResponse模拟真实信息在豆瓣spider中真实实现 urllib 此处的扩展#xff0c;可以进行在主体的程序学习完成后#xff0… 四、2获取数据补充urllib爬虫及数据可视化 urllibget请求post请求User-AgentResponse模拟真实信息在豆瓣spider中真实实现 urllib 此处的扩展可以进行在主体的程序学习完成后再回过头来学习用于新的网站的爬取等分析 Python3中将urllib2中的功能整合到urllib中了使用urllib就可以了 此处主要讲解urllib的扩展可以增加创新性也可跳过不影响主代码的编写 get请求 #获取一个get请求 response urllib.request.urlopen(http://www.baidu.com) #打开网页并将网页的数据返回 #print(response) #打印结果http.client.HTTPResponse object at 0x0000013918EEF188 #从打印的结果可以看出返回来一个HTTPResponse的对象此对象包含网页的所有信息可以使用read读取出来 #print(response.read()) #对获取到的网页源码进行utf-8解码 print(response.read().decode(utf-8)) #使用decode(utf-8)解析防止中文乱码结果如下简写 !DOCTYPE html!--STATUS OK-- htmlheadmeta http-equivContent-Type contenttext/html;charsetutf-8meta http-equivX-UA-Compatible contentIEedge,chrome1meta contentalways namereferrermeta nametheme-color content#2932e1meta namedescription content全球最大的中文搜索引擎、致力于让网民更便捷地获取信息找到所求。百度超过千亿的中文网页数据库可以瞬间找到相关的搜索结果。link relshortcut icon href/favicon.ico typeimage/x-icon /link relsearch typeapplication/opensearchdescriptionxml href/content-search.xml title百度搜索 /link relicon sizesany mask ...........scriptif (navigator.userAgent.indexOf(Edge) -1) {var body document.querySelector(body);body.className browser-edge;} /script textarea ids_is_result_css styledisplay:none;post请求 #获取一个post请求 #访问网址可发送表单可将用户名、密码加密 #post必须有服务器端的获取响应才行又不想写一个服务器代码使用网址httpbin.org可用来测试 #当向此网址发送请求时会响应可进行测试自己的请求的响应 #获取一个post请求 #访问网址可发送表单可将用户名、密码加密 #post必须有服务器端的获取响应才行又不想写一个服务器代码使用网址httpbin.org可用来测试 #当向此网址发送请求时会响应可进行测试自己的请求的响应response urllib.request.urlopen(http://httpbin.org/post) #此处默认进行post请求的 print(response) #直接打印会报错urllib.error.HTTPError: HTTP Error 405: METHOD NOT ALLOWED#是不能直接进行post访问的需要对发送表单封装才能进行post访问 import urllib.request import urllib.parse #解析器可以解析键值对#bytes() 可以将里面数据转换成2进制的数据包 data bytes(urllib.parse.urlencode({hello:world}),encodingutf-8) #使用utf-8的方式将键值对解析并封装成2进制数据 #data可以作为post传递的内容 response urllib.request.urlopen(http://httpbin.org/post,datadata) print(response.read().decode(utf-8))上方一段代码运行后 Response body {args: {}, data: , files: {}, form: {hello: world}, headers: {Accept-Encoding: identity, Content-Length: 11, Content-Type: application/x-www-form-urlencoded, Host: httpbin.org, User-Agent: Python-urllib/3.7, X-Amzn-Trace-Id: Root1-5fb778bb-56192ac74ae35b32718702aa}, json: null, origin: 218.201.130.74, url: http://httpbin.org/post }上方会将收到的表单放入form显示 使用urlib模拟浏览器发送请求 若使用post方式访问是必须按照post方式封装数据 #get请求无需传递data response urllib.request.urlopen(http://httpbin.org/get) print(response.read().decode(utf-8))User-Agent 下方的User-Agent直接告诉浏览器自己是爬虫若对方有防御只要有Python-urllib/3.7就无法爬取。 {args: {}, headers: {Accept-Encoding: identity, Host: httpbin.org, User-Agent: Python-urllib/3.7, X-Amzn-Trace-Id: Root1-5fb77b02-41623d10507c765005fe7ed1}, origin: 218.201.130.74, url: http://httpbin.org/get }Response 单段代码可直接运行 import urllib.request#超时处理 #对于超时需要有个计划性的准备 #不一定是0.01秒正常3秒5秒还没有响应就不用爬取了 try:response urllib.request.urlopen(http://httpbin.org/get,timeout0.01) #此处若超时0.01就报错print(response.read().decode(utf-8)) except urllib.error.URLError as e: #若有多个错误可以加入print(timeout)#当返回状态码为418则表明被发现是爬虫了 #平常经常使用请求看网页看信息此处可以简单解析 #response urllib.request.urlopen(http://douban.com) #print(response.status) #urllib.error.HTTPError: HTTP Error 418: 被发现是爬虫#response urllib.request.urlopen(http://httpbin.org/get) #print(response.status) #200 表示正常response urllib.request.urlopen(http://www.baidu.com) print(response.getheaders()) #拿到整个header信息 print(response.getheader(Server)) #可以拿到里面的具体内容打印结果 [(Bdpagetype, 1), (Bdqid, 0xab3ddba0000896e8), (Cache-Control, private), (Content-Type, text/html;charsetutf-8), (Date, Fri, 20 Nov 2020 08:41:34 GMT), (Expires, Fri, 20 Nov 2020 08:41:20 GMT), (P3p, CP OTI DSP COR IVA OUR IND COM ), (P3p, CP OTI DSP COR IVA OUR IND COM ), (Server, BWS/1.1), (Set-Cookie, BAIDUIDF9D3BADF25A1AA5CE17143909FE3D220:FG1; expiresThu, 31-Dec-37 23:55:55 GMT; max-age2147483647; path/; domain.baidu.com), (Set-Cookie, BIDUPSIDF9D3BADF25A1AA5CE17143909FE3D220; expiresThu, 31-Dec-37 23:55:55 GMT; max-age2147483647; path/; domain.baidu.com), (Set-Cookie, PSTM1605861694; expiresThu, 31-Dec-37 23:55:55 GMT; max-age2147483647; path/; domain.baidu.com), (Set-Cookie, BAIDUIDF9D3BADF25A1AA5C801B5470001E58EF:FG1; max-age31536000; expiresSat, 20-Nov-21 08:41:34 GMT; domain.baidu.com; path/; version1; commentbd), (Set-Cookie, BDSVRTM0; path/), (Set-Cookie, BD_HOME1; path/), (Set-Cookie, H_PS_PSSID1463_32855_33117_33058_31253_33099_33100_32962_26350_22158; path/; domain.baidu.com), (Traceid, 1605861694261455130612339260034306840296), (Vary, Accept-Encoding), (Vary, Accept-Encoding), (X-Ua-Compatible, IEEdge,chrome1), (Connection, close), (Transfer-Encoding, chunked)] BWS/1.1与下方的进行对比可得 Response引入的对象不仅仅将网页信息保存还能获取请求中的头部信息状态码等。 #爬取爬虫时需要将自己模拟为一个浏览器 url https://www.douban.com #需要将自己的请求对象再次封装一下 req urllib.request.Request(urlurl,datadata,headersheaders,methodPOST)主要的是user-agent这就是关键要想完全模拟甚至可以将上面的所有内容argsdataheaders等键值对中的全部封装 Headers中的内容怎么得到在浏览器的检查中有user-agent将当前浏览器的复制下来 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36}模拟真实信息 #爬取爬虫时需要将自己模拟为一个浏览器 #url https://www.douban.com url http://httpbin.org/post #需要将自己的请求对象再次封装一下 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36} data bytes(urllib.parse.urlencode({name:eric}),encodingutf-8) #使用utf-8的方式将键值对解析并封装成2进制数据 #data可以作为post传递的内容 req urllib.request.Request(urlurl,datadata,headersheaders,methodPOST) #构建的是请求对象 #需要发出请求 response urllib.request.urlopen(req) print(response.read().decode(utf-8))#下面是访问真实豆瓣的代码可以模拟浏览器欺骗豆瓣了 #爬取爬虫时需要将自己模拟为一个浏览器(爬取豆瓣的网页一定要将浏览器的user-agent信息填写) url https://www.douban.com #需要将自己的请求对象再次封装一下 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36} #data bytes(urllib.parse.urlencode({name:eric}),encodingutf-8) #使用utf-8的方式将键值对解析并封装成2进制数据 #data可以作为post传递的内容 req urllib.request.Request(urlurl,headersheaders) #构建的是请求对象 #需要发出请求 response urllib.request.urlopen(req) print(response.read().decode(utf-8))打印结果如下 !DOCTYPE HTML html langzh-cmn-Hans classua-windows ua-webkit head meta charsetUTF-8 meta namegoogle-site-verification contentok0wCgT20tBBgo9_zat2iAcimtN4Ftf5ccsh092Xeyw / meta namedescription content提供图书、电影、音乐唱片的推荐、评论和价格比较以及城市独特的文化生活。 meta namekeywords content豆瓣,小组,电影,同城,豆品,广播,登录豆瓣 meta propertyqc:admins content2554215131764752166375 / meta propertywb:webmaster content375d4a17a4fa24c2 / meta namemobile-agent contentformathtml5; urlhttps://m.douban.com title豆瓣/title script 。。。在豆瓣spider中真实实现 https://movie.douban.com/top250?start0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36#得到指定一个url的网页内容 def askURL(url):#head作用是为了让对方自己是浏览器模拟浏览器头部信息向豆瓣服务器发送消息#head信息一定不要写错否则会返回否码为418对方不认为我们是浏览器head {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36} #如果信息不多的话可以使用键值对的方式若很多的话可以使用列表的方式head[]#用户代理。表示告诉豆瓣服务器。我们是什么类型的机器。浏览器本质上是告诉浏览器。我们可以接收什么水平的文件内容#发送消息使用下方方式request urllib.request.Request(urlurl, headershead) # 构建的是请求对象,使用Request()封装了请求对象,此对象包含url和head头部信息#可以携带头部信息访问url,try:response urllib.request.urlopen(request) #发送请求对象返回一个response对象此对象包含我们的网页信息html response.read().decode(utf-8) #将读取的html界面读取出来print(html)except urllib.error.URLError as e: #访问时可能会遇到404遇到一些浏览器内部错误如500等if hasattr(e,code): #将里面的如404等code打印出来print(e.code)if hasattr(e, reason): #将产生的错误的原因打印出来print(e.reason)return html执行上面的函数可以得到结果如下 !DOCTYPE html html langzh-CN classua-windows ua-webkit headmeta http-equivContent-Type contenttext/html; charsetutf-8meta namerenderer contentwebkitmeta namereferrer contentalwaysmeta namegoogle-site-verification contentok0wCgT20tBBgo9_zat2iAcimtN4Ftf5ccsh092Xeyw /title 豆瓣电影 Top 250 /titlemeta namebaidu-site-verification contentcZdR4xxR7RxmM4zE /meta http-equivPragma contentno-cache meta http-equivExpires contentSun, 6 Mar 2005 01:00:00 GMT 。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

discuz建网站网站内容管理系统

🌈hello,你好鸭,我是Ethan,一名不断学习的码农,很高兴你能来阅读。 ✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。 🏃人生之义,在于追求,不在成败,勤通…

建站公司新闻资讯关于网站建设的知识

一、chown 的简介 chown 用于更改文件或目录的所有者(owner)身份。通过 chown 命令,可以将文件或目录的所有权转移给另一个用户或组,从而控制对该文件或目录的访问和权限。 二、chown 的参数说明 使用语法:chown [新所…

常平镇仿做网站贵州公明建设投资咨询有限公司官方网站

【26.4K⭐】ShareX:一款开源免费、功能强大且丰富的截屏录屏软件 在日常工作、学习和娱乐过程中,我们经常需要截取屏幕或者录制屏幕上特定区域中的内容并进行标记、编辑等操作。无论是为了记录重要的信息、分享有趣的内容,还是为了制作教程和…

济宁建设局网站招聘会现在哪个电商平台比较好做

开头 通常作为一个Android APP开发者,我们并不关心Android的源代码实现,不过随着Android开发者越来越多,企业在筛选Android程序员时越来越看中一个程序员对于Android底层的理解和思考,这里的底层主要就是Android Framewok中各个组…

代做毕业设计网站 道路桥梁wordpress热门文章代码

C中,我们一般可以以基类声明纯虚函数,然后让派生类继承并重写这个虚函数,用​override表示显示覆盖基类方法,但一直没有提供一种方法来阻止派生类继承基类的虚函数。 C11标准引入了final说明符,很好的解决了上面的问题…

湛江网站建设运营方案六安城市网怎么样

1.引入 在Servlet3.0以后的版本提供了Servlet注解配置&#xff0c;大大简化了代码编写。它可以替代xml文件的配置 2.代码实现 <1>注解开发代码如下&#xff1a; WebServlet(value "/servlet1", initParams {WebInitParam(name "charset", val…

网上的网站模板怎么下载网站建设公司有

4、流动布局(fluidgrid)“流动布局”的含义是&#xff0c;各个区块的位置都是浮动的&#xff0c;不是固定不变的。.main{float:right;width:70%;}.leftBar{float:left;width:25%;}float的好处是&#xff0c;如果宽度太小&#xff0c;放不下两个元素&#xff0c;后面的元素会自动…

自己做网站有哪些方法呢网站导航的分类有哪些

1 web开发 Spring boot web 开发非常简单&#xff0c;其中包括常用的 json输出、filters、property、log等 1.1 json接口开发 在以前的Spring 开发我么提供json 的做法&#xff1a; 添加jackjson 等相关jar包配置Spring controller扫描对接的方法添加ResponseBody 而在Spri…

推广网站多少钱wordpress画栏

嘿&#xff0c;大家好&#xff01;今天我们来聊一聊深度学习领域的一位“大明星”——Transformer模型。这个模型的提出可不得了&#xff0c;让自然语言处理领域焕发了新生。 在深度学习领域&#xff0c;Transformer模型架构的引入标志着一场革命&#xff0c;它改变了自然语言处…

搜索引擎关键词快速优化seo免费视频教程

在TCP通信过程中&#xff0c;服务器端启动之后可以同时和多个客户端建立连接&#xff0c;并进行网络通信&#xff0c;但是在一个单进程的服务器的时候&#xff0c;提供的服务器代码却不能完成这样的需求&#xff0c;先简单的看一下之前的服务器代码的处理思路&#xff0c;再来分…

广州网站设计后缀wordpress keywords

在Linux中wheel组就类似于一个管理员的组。 通常在Linux下&#xff0c;即使我们有系统管理员root的权限&#xff0c;也不推荐用root用户登录。一般情况下用普通用户登录就可以了&#xff0c;在需要root权限执行一些操作时&#xff0c;再su登录成为root用户。但是&#xff0c;任…

网站推广营销应该怎么做企业网站建设问卷

意图 将抽象部分与它的实现部分分离&#xff0c;使他们可以独立地变化 个人理解 一句话概括就是只要是在抽象类中聚合了某个接口或者抽象类&#xff0c;就是使用了桥接模式。 抽象类A中聚合了抽象类B&#xff08;或者接口B&#xff09;&#xff0c;A的子类的方法中在相同的场…

杭州做网站费用lnmp 502 wordpress

BF算法、男朋友算法&#xff0c;哈哈 要实现动态分区分配&#xff0c;需要考虑三个方面的问题。分别是数据结构、分区分配算法、分区的分配与回收操作。 首数据结构 这里我们使用的是空闲分区链&#xff0c;采用双向链表表示空闲分区。 具体实现如下&#xff1a; typedef …

在线自助网站按照程序邯郸做网站公司哪家好

基于MATLAB的最大误差双圆弧逼近曲线的算法及实现.pdf第31卷第6期 基于MⅢB的最大误差双圆弧逼近曲线的算法及实现文章编号&#xff1a;1004—2539120町】06一唧一∞基于MAⅡ&#xff0e;AB的最大误差双圆弧逼近曲线的算法及实现淮海工学院机械工程系&#xff0c;扛苏连云港笠a…

淘宝做网站价格微信公众号如何做微网站

要下班&#xff0c;简介做个笔记。设置环境变量在基于unix/linux的操作系统下进行程序开发&#xff0c;使用环境变量将会方便。通过设置环境变量将可以在任意目录通过输入程序名来执行设定目录下的程序。不需要通过cd将工作目录改变到程序目录再执行程序。而且免去了输入"…

wordpress 网站被挂马怎样做多商户网站

设计模式 1.什么是设计模式&#xff1f; 2.设计模式的分类 单例设计模式就是GoF模式中的一种。 3.GoF设计模式的分类&#xff1a; 单例设计模式&#xff1a; 顾名思义&#xff1a;单个实例的设计模式&#xff01;

诸暨网站制作设计网站做缓存吗

提起buddy system相信很多人不会陌生&#xff0c;它是一种经典的内存分配算法&#xff0c;大名鼎鼎的Linux底层的内存管理用的就是它。这里不探讨内核这么复杂实现&#xff0c;而仅仅是将该算法抽象提取出来&#xff0c;同时给出一份及其简洁的源码实现&#xff0c;以便定制扩展…

企业网站建站系统哪个好用天津优化网络公司的建议

一、项目简介 本项目是一套基于springbootvue实现的高校宿舍管理系统设计与实现 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观…

怎么创造免费网站搜索引擎付费推广

此为牛客网Linux C课程 1.4&1.5 的课程笔记。 0. 关于静态库与动态库 库就是封装好的、可服用的代码&#xff0c;而静态和动态是指链接。 这节课讲的是静态库&#xff0c;是指在链接阶段&#xff0c;会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中&…

做游戏钓鱼网站浮动微信代码wordpress

法国时间6月19日&#xff0c;OPPO在巴黎卢浮宫正式举办未来旗舰Find X发布会。此次亮相的Find X新机&#xff0c;既有充满艺术感的3D玻璃机身设计&#xff0c;又有3D结构光、曲面全景屏、双轨潜望结构等多项黑科技。众多黑科技中&#xff0c;以3D结构光O-face最受数目。据悉&am…