python边写边总结(七)urllib学习
发布日期:2021-06-29 06:03:24 浏览次数:2 分类:技术文章

本文共 3461 字,大约阅读时间需要 11 分钟。

今天偶然碰到爬虫,之前也了解正则表达式,哈哈哈,就试着操作了一下,但是对于urllib了解不够,今天就总结一下,以后可能用得着

  • HTTP和HTTPS

HTTP即超文本传输协议,用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

再看看可能SSL(secure socket layer)和TLS(Transport Layer Security)

SSL和TLS是为网络通信提供安全和数据完整性的一种协议,在传输层为网络进行加密

 

  • URL

URL一般可分离为几大部分,一部分是scheme(模式/协议),我们常见的有http,FTP等

接着的是服务器名,我发现csdn就有几个服务器,mp,blog等

然后就是域名,csdn的域名就是csdn.net

接着域名的是端口,这个有些有,有些没有

然后就是网页文件的位置,关于这个位置,有相对路径和绝对路径量种方式

 

我们这里没有解释ip,什么所示ip呢,我们的域名就是经过域名服务器解析之后得到的,就是一个映射关系,所以,这里就可以看到你的ip是电信部门赋予的,但是你的域名,是需要申请,因为要用到域名服务器,所以,你也需要付费

  • robots协议

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。s.txt是一个协议,而不是一个。robots.txt是中访问网站的时候要查看的第一个文件

总的来讲,在robots.txt里面告诉了哪个搜索殷勤的爬虫程序可以访问,哪个是禁止的,当spider访问一个网站时,首先会检查该网站中是否存在robots.txt这个文件,如果 Spider找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围,robots.txt文件一般在根目录下

然后去它官网看看


urllib is a package that collects several modules for working with URLs:

  • for opening and reading URLs

request 用于打开和读取URL

The module defines functions and classes which help in opening URLs (mostly HTTP) in a complex world — basic and digest authentication, redirections, cookies and more.

urllib.request模块定义了有助于在复杂世界中打开URL(主要是HTTP)的函数和类 - 基本和摘要式身份验证,重定向,cookie等。

  • containing the exceptions raised by

error包含了exception抛出的异常

The module defines the exception classes for exceptions raised by . The base exception class is .

urllib.error模块定义了异常类,用于处理rullib.request抛出的异常,它的基本异常类为URLError

  • for parsing URLs

parse用于解析URL

This module defines a standard interface to break Uniform Resource Locator (URL) strings up in components (addressing scheme, network location, path etc.), to combine the components back into a URL string, and to convert a “relative URL” to an absolute URL given a “base URL.”

这个模块定义了一个标准的接口把URL strings分解为各个部分,或者把各个部分合并为URL string,或者把相对URL转换为绝对URL

  • for parsing robots.txt files

robotparser用于解析robot.txt文件

This module provides a single class, , which answers questions about whether or not a particular user agent can fetch a URL on the Web site that published the robots.txt file. For more details on the structure of robots.txt files, see .

这个模块提供了RobotFileParser类,它回答了user的程序能否获取Web的URL

主要就是以上四个module

//test_urllib.pyimport urllibimport webbrowser as weburl="http://www.baidu.com"content=urllib.request.urlopen(url)print(content.info())print(content.geturl())print(content.getcode())//outputBdpagetype: 1Bdqid: 0xcf01942c000867d2Cache-Control: privateContent-Type: text/htmlCxy_all: baidu+6f1202193aca5407f02a6a9b8cf5ef53Date: Sat, 15 Dec 2018 07:25:17 GMTExpires: Sat, 15 Dec 2018 07:24:24 GMTP3p: CP=" OTI DSP COR IVA OUR IND COM "Server: BWS/1.1Set-Cookie: BAIDUID=2FD761840C981EF4E9A87AEC75AA8B3B:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.comSet-Cookie: BIDUPSID=2FD761840C981EF4E9A87AEC75AA8B3B; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.comSet-Cookie: PSTM=1544858717; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.comSet-Cookie: delPer=0; path=/; domain=.baidu.comSet-Cookie: BDSVRTM=0; path=/Set-Cookie: BD_HOME=0; path=/Set-Cookie: H_PS_PSSID=1436_21118_28132_26350_27750_27244_22160; path=/; domain=.baidu.comVary: Accept-EncodingX-Ua-Compatible: IE=Edge,chrome=1Connection: closeTransfer-Encoding: chunked

 

转载地址:https://blog.csdn.net/zhouzhouasishuijiao/article/details/85014091 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python边写边总结(八)python的装饰器
下一篇:算法总结(一)最小二乘拟合

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月06日 13时16分09秒