摘要: 前言 在上一节中介绍了thread多线程库。python中的多线程其实并不是真正的多线程,并不能做到充分利用多核CPU资源。 如果想要充分利用,在python中大部分情况需要使用多进程,那么这个包就叫做 multiprocessing。 借助它,可以轻松完成从单进程到并发执行的转换。multipro 阅读全文
posted @ 2019-01-07 11:27 我家有只大白兔 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理。 首先声明一点! 多线程和多进程是不一样的!一个是 thread 库,一个是 multiprocessing 库。而多线程 thread 在 Python 里面被称作 阅读全文
posted @ 2019-01-07 11:20 我家有只大白兔 阅读(173) 评论(0) 推荐(0) 编辑
摘要: CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送 阅读全文
posted @ 2019-01-05 13:36 我家有只大白兔 阅读(2274) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-01-04 15:44 我家有只大白兔 阅读(136) 评论(2) 推荐(0) 编辑
摘要: 本节中,我们看一下正则表达式的相关用法。正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索、替换、匹配验证都不在话下。 当然,对于爬虫来说,有了它,从HTML里提取想要的信息就非常方便了。 1. 实例引入 说了这么多,可能我们对它到底是个什么还是比较模糊,下面就用几个 阅读全文
posted @ 2019-01-03 17:27 我家有只大白兔 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 在前一节中,我们了解了requests的基本用法,如基本的GET、POST请求以及Response对象。本节中,我们再来了解下requests的一些高级用法,如文件上传、cookie设置、代理设置等。 1. 文件上传 我们知道requests可以模拟提交一些数据。假如有的网站需要上传文件,我们也可以 阅读全文
posted @ 2019-01-03 15:14 我家有只大白兔 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 1. 实例引入 urllib库中的urlopen()方法实际上是以GET方式请求网页,而requests中相应的方法就是get()方法,是不是感觉表达更明确一些?下面通过实例来看一下: 1 2 3 4 5 6 7 8 import requests r = requests.get('https:/ 阅读全文
posted @ 2019-01-03 14:27 我家有只大白兔 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 利用urllib的robotparser模块,我们可以实现网站Robots协议的分析。本节中,我们来简单了解一下该模块的用法。 1. Robots协议 Robots协议也称作爬虫协议、机器人协议,它的全名叫作网络爬虫排除标准(Robots Exclusion Protocol),用来告诉爬虫和搜索引 阅读全文
posted @ 2019-01-03 14:04 我家有只大白兔 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 前面说过,urllib库里还提供了parse这个模块,它定义了处理URL的标准接口,例如实现URL各部分的抽取、合并以及链接转换。它支持如下协议的URL处理:file、ftp、gopher、hdl、http、https、imap、mailto、 mms、news、nntp、prospero、rsyn 阅读全文
posted @ 2019-01-03 13:51 我家有只大白兔 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 前一节我们了解了请求的发送过程,但是在网络不好的情况下,如果出现了异常,该怎么办呢?这时如果不处理这些异常,程序很可能因报错而终止运行,所以异常处理还是十分有必要的。 urllib的error模块定义了由request模块产生的异常。如果出现了问题,request模块便会抛出error模块中定义的异 阅读全文
posted @ 2019-01-03 13:37 我家有只大白兔 阅读(186) 评论(0) 推荐(0) 编辑