![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python网络爬虫
你的莽莽没我的好吃
这个作者很懒,什么都没留下…
展开
-
网页重复度检测——shingling算法
1 前言最简单的检测重复网页的方法就是对每一个网页计算用指纹生成算法出一个简洁的“指纹”。接着,当两个网页的“指纹”一样时,我们就进一步地去比对它们的网页内容是否一样,但是这个最简单的办法在捕捉“相似的副本”方面是失败的。在许多情况下,一个网页只有几个字符与另一个网页不同——比如一篇文章最后落款的日期不同,但是文章内容完全一致。面对这种情况,我们就要去识别两个网页之间的相似度来让我们只需检索其中一个网页。2 直接计算Jaccard系数的shingling算法首先给定一个正整数k,和文档d。我们定原创 2020-07-26 23:42:43 · 1613 阅读 · 0 评论 -
正则表达式踩坑记录(持续更新)
正则表达式在线测试器:https://c.runoob.com/front-end/854.*和.*?<li><div><div class="_1-7VV"><a href="javascript:;"><img style="background-image: url("https://picagent-p...原创 2019-08-13 11:09:09 · 292 阅读 · 0 评论 -
文件读写模式
r 仅读,待打开的文件必须存在。w 仅写,若文件已存在,内容将先被清空。a 仅写,若文件已存在,内容不会清空。r+ 读写,待打开的文件必须存在。w+ 读写,若文件已存在,内容将先被清空。a+ 读写,若文件已存在,内容不会清空。rb 仅读,二进制,待打开的文件必须存在。wb 仅写,二进制,若文件已存在,内容将先被清空。ab ...原创 2019-08-16 15:22:05 · 616 阅读 · 0 评论 -
XPath理解:使用extract()时[0]位置的理解
以爬取快代理https://www.kuaidaili.com/free/为例。response是整个页面返回的数据,页面内容。 response.xpath('//*[@id="list"]/table/tbody/tr') 返回结果:返回一个SelectorList对象,SelectorList 类是内建 list 类的子类,它是一个列表,列表的每一项都是一个如下...原创 2019-08-16 14:17:55 · 2252 阅读 · 0 评论 -
Requests数据抓取
Requests简介Requests是Python的一个很实用的HTTP客户端库,完全满足如今网络爬虫的需求。与Urllib对比,Requests是在Urllib的基础上进一步封装的,具备Urllib的全部功能;在开发使用上,语法简单易懂,完全符合Python优雅、简洁的特性;在兼容性上,完全兼容Python2和Python3,具有较强的适用性。请求方式HTTP常用的请求方式是GET和...原创 2019-08-12 16:58:16 · 715 阅读 · 0 评论 -
Selenium模拟浏览器入门实战(+PhantomJS):漫画爬虫
虽然自2018年开始,PhantomJS暂停开发,而且新版本Selenium不再支持PhantomJS,而是推荐使用谷歌或者火狐无界面浏览器,但是现在仍然可以使用Selenium+PhantomJS,只是warning而已。这里有篇博客以供参考:https://blog.csdn.net/u010358168/article/details/79749149Selenium模拟浏览器P...原创 2019-08-15 16:46:26 · 458 阅读 · 0 评论 -
Urllib数据抓取
Urllib简介发送请求请求头请求头参考我的另一篇博客:https://blog.csdn.net/LOG_IN_ME/article/details/81940205IP代理import urllib.requesturl='http://movie.douban.com'#设置代理ipproxy_handler=urllib.re...原创 2019-08-09 19:51:09 · 1526 阅读 · 0 评论 -
TypeError: memoryview: a bytes-like object is required, not 'int'
【报错】TypeError: memoryview: a bytes-like object is required, not 'int'【解决】以为是编码问题,看报错追溯报错行,其实是urllib.request.urlopen()里面参数类型的问题,参数timout=2不能只写2,参考书也有错误。response = urllib.request.urlopen('http:...原创 2019-08-09 15:58:57 · 3168 阅读 · 0 评论 -
UnicodeEncodeError: 'gbk' codec can't encode character '\xbb'
【报错】UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 29802: illegal multibyte sequence【解决】出错的原因是网页及python的编码都是utf-8,在写入文件时Windows默认转码成gbk,遇到某些gbk不支持的字符就会报错。在打开文件时就声明编码方式...原创 2019-08-09 15:22:01 · 456 阅读 · 0 评论 -
Scrapy爬虫框架
安装Scrapy在安装Scrapy之前,需要先安装Twisted。Twisted可以使用pip安装,如果直接安装Scrapy,在安装过程中就会出现报错信息。Windows下安装Scrapy:有很多种方法,本人直接使用pip安装。(这篇博客不想在安装上多费篇幅,网上都能查的到。)cmd命令行:pip install scrapy创建Scrapy项目在cmd上将路径切换到工作...原创 2019-08-08 17:04:26 · 208 阅读 · 0 评论 -
python网络爬虫——正则表达式匹配豆瓣读书:新书速递——血泪踩坑史!!
作为python网络爬虫小白一坨……在用requests库+正则表达式爬取网页的时候,用正则表达式匹配html标签的时候,即使看了正则表达式的知识还是无法匹配的那么顺利……从一个坑出来又掉入了另一个坑……先查看要爬取的网页的源码:豆瓣读书:新书速递 链接:url = 'https://book.douban.com/latest?icn=index-latestbook-all'...原创 2018-08-22 22:27:21 · 874 阅读 · 0 评论 -
python——range()和xrange()
range():用法:range(start, stop, step),参数分别为开始,结束,步长,生成一个列表list。比如:可以用 for i in range(……)来遍历,也可以直接输出,是一个列表。xrange():用法:与range()完全相同,所不同的是生成的不是一个list,而是一个生成器,每次调用返回其中的一个值,等下次迭代器 i 接着往后面遍历,数值变...原创 2018-08-22 14:54:51 · 336 阅读 · 0 评论 -
python——yield小小小小记
网上都说带有yield的函数在python之中被称为generator(生成器),我:……然后看了廖雪峰的yield浅析,把我暂时能用到的整理如下……让我们从斐波那契数列(除第一个第二个数字以外每个数字都等于前两个数字之和)入手:1.简单地输出斐波那契数列前n个数:def fab(max): n, a, b = 0, 0, 1 while n < max...原创 2018-08-22 14:57:44 · 149 阅读 · 0 评论 -
python网络爬虫——HTTP状态码
服务器上每一个HTTP 应答对象response包含一个数字"状态码"。有时状态码指出服务器无法完成请求。默认的处理器会为你处理一部分这种应答。例如:假如response是一个"重定向",需要客户端从别的地址获取文档,urllib2将为你处理。其他不能处理的,urlopen会产生一个HTTPError。典型的错误包含"404"(页面无法找到),"403"(请求禁止),和"401"(...转载 2018-08-22 11:52:11 · 372 阅读 · 0 评论 -
python网络爬虫——设置用户请求头
在使用python爬虫爬取数据的时候,经常会遇到一些网站的反爬虫措施,一般就是针对于headers中的User-Agent,如果没有对headers进行设置,User-Agent会声明自己是python脚本,而如果网站有反爬虫的想法的话,必然会拒绝这样的连接。而修改headers可以将自己的爬虫脚本伪装成浏览器的正常访问,来避免这一问题。以爬取“豆瓣读书新书速递”(https://book.d...原创 2018-08-22 11:40:18 · 1439 阅读 · 0 评论 -
python网络爬虫——robots协议
Robots协议的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),它的功能是通过Robots文件告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,抓取的标准等。它以一个文本文件的形式放在网站的根目录中。想要访问一个网站的robots协议,在其网页链接后添加 /robots.txt 访问即可,如果一个站点没有robots,txt文件,则说明其上所有数据皆可爬取。...转载 2018-08-22 08:56:28 · 1586 阅读 · 0 评论