本系列文章是在阅读《Python3网络爬虫开发实战》等网络资料学习爬虫过程中的一些笔记和心得。希望与大家分享。第二章爬虫基础章节结构:HTTP网络爬虫原理Session和CookiesProxy具体内容:HTTP1.URI(统一资源标识符UniformResourceIdentifier)&URL(UniversalResourceLocator统一资源定位器)URI=URL+URN(UniversalResourceName(统一资源名)URL=访问协议+访问路径+资源名URN=访问名2.Hypertext超文本浏览器解析超文本(Ex.网页HTML源代码)->看网页3.HTTP(HyperTextTransferProtocol)&HTTPS(HyperTextTransferProtocoloverSecureSocketLayer)HTTP:从网络向本地浏览器传输超文本数据的传输协议HTTPS=HTTP+SSL->加密传输4.HTTP请求过程用户在浏览器中输入URLEnter---浏览器向URL所在服务器发送请求---服务器收到请求进行处理分析---返回相应的响应(页面源码)---浏览器er解析源码---渲染网页一个Request+Response过程=Name(请求名称,URL最后一部分)+Status(状态码)+Type(请求文档类型)+Initiator(请求来源)+Size(资源大小)+Time(请求发起到响应的总时间)+Waterfall(可视化瀑布流)5.请求:客户端->服务端请求=请求方法(RequestMethod:GET/POST/HEAD/PUT/DELETE/CONNECT/OPTION/TRACE)+请求URL(RequestURL)+请求头(RequestHeader:Accept+Accept-Language+Accept-Encoding+Host+Cookie+Referer+User-Agent+Content=Type)+RequestBody(RequestBody:application/x-www-form-urlencoded|多部分/表单数据|应用程序/json|text/xml)6.响应:响应状态码(ResponseStatusCode)+响应头(ResponseHeader=Data+Last-Modified+Content-Encoding+Server+Content-Type+Set-Cookie+Expires)+响应体(ResponseBody)网页=HTML(超文本标记语言)+JavaScript+CSS(层叠样式表)元素CSS是央视网页布局的标准。可以在HTML中定义节点的样式,使网页更加美观。节点树:HTML中的所有标签都定义了节点,它们组成了一个HTMLDOM树DOM(DocumentObjectModel文档对象模型):定义了访问HTML文档的标准爬虫原则互联网和爬虫=网络和蜘蛛网页=网络链接的节点网页之间=网络节点请求之间的行等)---提取信息(BeautifulSoup/pyquery/lxml等)---保存数据(MySQL/MongoDB)可抓取的数据类型?HTML、JSON、二进制数据(视频、图片、音频等)和各种扩展文件(.js、.css、.conf等)如何获取JS渲染的界面?模拟渲染过程Session和CookiesStaticwebpage&Dynamicwebpage静态网页的内容是用HTML写的,文字和图片是事先写好的。动态网页是根据对传入参数的分析,动态变化呈现不同内容的网页。HTTP事务的HTTP协议处理没有记忆能力。比如用户登录过的信息,下次请求时不会记住,所以HTTP协议需要session和cookie。session在服务器端保存用户的session信息,在client端使用cookie来放弃下次请求。用于会话的信息会话是开始和结束的一系列动作/信息。Web中的会话对象存储特定用户会话所需的属性和配置信息。CookiesCookies是一些网站为了识别用户身份和进行绘画追踪而存储在用户本地终端上的数据。session维护客户端对服务器的第一次请求,服务器返回一个带有Set-Cookie的响应头给客户端,用来标记用户。浏览器再次访问服务器时,会将cookie放在请求头中。携带sessionID的cookie会让服务器找到对应的session来确定用户状态属性结构Name+Value+Domain(可以访问这个cookie的域名)+MaxAge+Path+Size+HTTP(httponly字段,如果是的,这个信息只能包含在HTTPHeader中,document.cookie是访问不到的)+安全代理因为有些网站有反爬虫的措施,比如屏蔽访问IP过多的应用,这个时候,你需要使用代理来实现IP伪装。基本原理:代理服务器代理服务器用于代理网络用户获取网络信息。即在书本和服务器之间设置一个中转站,服务器看到的将是中转站的IP,从而实现伪装爬虫代理就是在访问过程中不断改变IP,以防止真实IP被代理分类协议屏蔽区分匿名程度区分FTP代理服务器、HTTP代理服务器、SSL/TSL代理服务器、RTSP代理服务器(访问流媒体服务器)、Telnet代理服务器、POP3/SMTP代理服务器,SOCKS代理服务器高度匿名代理,普通匿名代理,透明代理,spy代理机构设置在线免费代理付费代理服务
