摘要: Beautiful Soup 用法: (1) 前面我们爬取一个网页,都是使用正则表达式来提取想要的信息,但是这种方式比较复杂,一旦有一个地方写错,就匹配不出来了,因此我们可以使用 Beautiful Soup 来进行提取(2) Beautiful Soup 就是 Python 的一个 HTML 或 阅读全文
posted @ 2019-03-14 18:30 孔雀东南飞 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 如下图,有些网站需要使用用户名密码才可以登录,我们可以使用 requests 的 auth 参数来实现 阅读全文
posted @ 2019-03-14 16:38 孔雀东南飞 阅读(335) 评论(0) 推荐(0) 编辑
摘要: (1) 如果我们一直用同一个IP去请求同一个网站上的网页,久了之后可能会被该网站服务器屏蔽,因此我们可以使用代理IP来发起请求,代理实际上指的就是代理服务器(2) 当我们使用代理IP发起请求时,服务器端显示的是代理IP的地址,即使被屏蔽了,我们可以换一个代理IP继续爬取,代理IP获取页面:https 阅读全文
posted @ 2019-03-14 16:37 孔雀东南飞 阅读(843) 评论(0) 推荐(0) 编辑
摘要: 当我们访问 HTTPS 的网站时,需要进行证书验证,在浏览器中可以自动处理验证问题,在 Python 中有以下两种做法: 阅读全文
posted @ 2019-03-14 16:36 孔雀东南飞 阅读(2975) 评论(0) 推荐(0) 编辑
摘要: 什么是 Cookie 和 Session: 简单来说,我们访问每一个互联网页面,都是通过 HTTP 协议进行的,而 HTTP 协议是一个无状态协议,所谓的无状态协议即无法维持会话之间的状态。比如,仅使用 HTTP 协议的话,我们登录一个网站的时候,假如登录成功了,但是当我们访问该网站的其他网页的时候 阅读全文
posted @ 2019-03-14 16:35 孔雀东南飞 阅读(631) 评论(0) 推荐(0) 编辑
摘要: POST请求也就是向服务器提交数据,通常我们用来提交表单数据: 阅读全文
posted @ 2019-03-14 16:33 孔雀东南飞 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 基本用法: 发起带有参数的GET请求: 伪造请求头信息,发起GET请求: 阅读全文
posted @ 2019-03-14 16:32 孔雀东南飞 阅读(4061) 评论(0) 推荐(0) 编辑
摘要: requests 是用来发送 HTTP 请求的一个库,requests 是对 urllib 和 urllib2 进行封装的一个模块,用来取代 urllib 和 urllib2,可以使用以下两种方法安装 requests 阅读全文
posted @ 2019-03-14 16:28 孔雀东南飞 阅读(210) 评论(0) 推荐(0) 编辑
摘要: (1) Robots Exclusion Protocol,网络爬虫排除标准,也称爬虫协议、机器人协议,用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取(2) Robots 协议以 robots.txt 文件的形式表示,一般放在网站的根目录下,爬虫和搜索引擎要根据文件的内容范围来爬取,如果文件 阅读全文
posted @ 2019-03-14 16:25 孔雀东南飞 阅读(274) 评论(0) 推荐(0) 编辑
摘要: urllib 库还提供了 parse 模块,它定义了处理 URL 的标准接口,例如实现 URL 各部分的抽取、合并以及链接转换,常用的方法如下: 阅读全文
posted @ 2019-03-14 16:23 孔雀东南飞 阅读(695) 评论(0) 推荐(0) 编辑
摘要: (1) 我们发起 HTTP 请求,有时会发生异常,如请求超时,登录密码错误,请求链接不存在等等,使用 urllib.request.URLError 可以捕获这些与 URL 相关的异常(2) urllib.error.URLError 是一个异常类,如果我们使用 urlopen() 打开一个URL, 阅读全文
posted @ 2019-03-14 16:22 孔雀东南飞 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 如何获取 Cookies : 如何携带 Cookie 信息登录到其他页面: 阅读全文
posted @ 2019-03-14 16:21 孔雀东南飞 阅读(577) 评论(0) 推荐(0) 编辑
摘要: (1) 如果我们一直用同一个IP去请求同一个网站上的网页,久了之后可能会被该网站服务器屏蔽,因此我们可以使用代理IP来发起请求,代理实际上指的就是代理服务器(2) 当我们使用代理IP发起请求时,服务器端显示的是代理IP的地址,即使被屏蔽了,我们可以换一个代理IP继续爬取,代理IP获取页面:https 阅读全文
posted @ 2019-03-14 16:20 孔雀东南飞 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 如下图,有些网站需要使用用户名密码才可以登录,我们可以使用 HTTPBasicAuthHandler() 来实现 阅读全文
posted @ 2019-03-14 16:19 孔雀东南飞 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 我们可以使用 urllib.request.Request() 构造请求对象,但是对于一些更高级的操作,比如 Cookies 处理、代理设置 、身份验证等等,Request() 是处理不了的这时就需要更强大的工具 —— Handler,我们可以把它理解为各种处理器,有处理登录验证的,有处理 Cook 阅读全文
posted @ 2019-03-14 16:15 孔雀东南飞 阅读(353) 评论(0) 推荐(0) 编辑
摘要: (1) urllib.request.urlopen()方法可以实现最基本请求的发起,但这几个简单的参数并不足以构建一个完整的请求(2) 我们可以使用 urllib.request.Request() 先构造一个请求对象,这个请求对象可以包含请求头信息,或者包含要向服务器传递的数据,然后再发送请求( 阅读全文
posted @ 2019-03-14 16:14 孔雀东南飞 阅读(478) 评论(0) 推荐(0) 编辑
摘要: urllib.request.urlopen(url, data=None, timeout=n) 用于发送HTTP请求并得到响应内容 data 参数: (1) 该参数是可选的,如果要添加,则必须通过 urllib.parse.urlencode() 转换成字节流编码格式(2) 另外,如果传递了这个 阅读全文
posted @ 2019-03-14 16:13 孔雀东南飞 阅读(371) 评论(0) 推荐(0) 编辑
摘要: (1) urllib.request:最基本的HTTP请求模块,用来模拟发送请求,就像在浏览器里输入网址然后回车一样(2) urllib.error:异常处理模块,如果出现请求错误,我们可以捕获这些异常,然后进行重试或其他操作以保证程序不会意外终止(3) urllib.parse:一个工具模块,提供 阅读全文
posted @ 2019-03-14 16:11 孔雀东南飞 阅读(137) 评论(0) 推荐(0) 编辑
摘要: (1) urllib 是 Python 内置的 HTTP 请求库,用来向服务器发送 HTTP 请求(2) 在 Python2.x 中,有 urllib 和 urllib2 两个模块;在 Python3.x 中,urllib2 合并到了 urllib 中(3) 在 Python2.x 中使用 impo 阅读全文
posted @ 2019-03-14 16:10 孔雀东南飞 阅读(889) 评论(0) 推荐(0) 编辑
摘要: 爬虫节点爬取到的网页数据会存放到资源库中,资源库对爬取到的数据进行分析并建立索引,分析算法有以下几种 (1) 基于用户行为的分析算法:根据用户对网页的访问频率 、访问时长 、点击率等对网页数据进行分析(2) 基于网络拓扑的分析算法:根据网页的外链 、网页的层次 、网页的等级等对网页数据进行分析,计算 阅读全文
posted @ 2019-03-14 15:58 孔雀东南飞 阅读(1753) 评论(0) 推荐(0) 编辑