爬虫开发历程
分享爬虫开发过程中学习到的知识,做一个有情怀的互联网漫游者。
agsddd
这个作者很懒,什么都没留下…
展开
-
python 读文件 decode error ‘utf8‘ ‘GBK‘ 问题
1. 读取日文txt,出现gbk解码错误问题。line.encode('gb18030') 解决2.读英文csv,出现utf8解码错误问题。with open(jp_data_total_path,'r',encoding='gb18030')as f_jp encoding='utf8'改为encoding='gb18030'解决原创 2020-12-02 12:47:05 · 323 阅读 · 0 评论 -
Python---爬虫---清洗---NLTK
安装语料库:import nltk nltk.download()NLTK自带语料库:>>> from nltk.corpus import brown>>> brown.categories()['adventure', 'belles_lettres', 'editorial','fiction', 'government', 'ho...原创 2019-03-08 22:54:34 · 410 阅读 · 0 评论 -
Python---爬虫---清洗---SnowNLP(基础NLP处理库)
安装:pip3 install snownlpfrom snownlp import SnowNLPs = SnowNLP(data)1.# 分词s.words2.# 词语标注s.tags3.# 情感分析s.sentiments4.# 转换拼音s.pinyin5.# 转换简体s.han6.# 提取关键字s.keywor...原创 2019-03-08 20:26:12 · 857 阅读 · 0 评论 -
Python---爬虫---清洗---Levenshtein(计算字符串相似度,编辑距离等)
安装:pip install python-Levenshtein1.Levenshtein.hamming(str1, str2) ,计算汉明距离。要求str1和str2必须长度一致。是描述两个等长字串之间对应位置上不同字符的个数。2.Levenshtein.distance(str1, str2),计算编辑距离(也成Levenshtein距离)。是描述由一个字串转化成另一个字串最少的操...原创 2019-03-08 19:42:00 · 1075 阅读 · 0 评论 -
Python---爬虫---清洗---phonenumbers(电话号码解析)
安装:pip3 installphonenumbers1.把看似不一样的号码规范到同一个号码>>> import phonenumbers>>> x = phonenumbers.parse("+442083661177", None)>>> y = phonenumbers.parse("020 8366 1177", ...原创 2019-03-08 18:11:39 · 1910 阅读 · 0 评论 -
Python---爬虫---清洗---jieba分词
jieba中文处理和拉丁语系不同,亚洲语言是不用空格分开每个有意义的词的。而当我们进行自然语言处理的时候,大部分情况下,词汇是我们对句子和文章理解的基础,因此需要一个工具去把完整的文本中分解成粒度更细的词。jieba就是这样一个非常好用的中文工具,是以分词起家的,但是功能比分词要强大很多。1.基本分词函数与用法jieba.cut 以及 jieba.cut_for_search 返回...原创 2019-03-08 15:40:05 · 2298 阅读 · 0 评论 -
爬虫---反反爬---User-Agent
User-Agent1、用户代理,浏览器身份识别2、通过它判断是谁在发送请求,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等3、代码中添加User-Agent实现模拟浏览器4.某大牛写了个库,fake-useragent,本质其实也是个爬虫。可随机生成UA。pip install fake-useragent...原创 2019-02-20 09:58:03 · 585 阅读 · 0 评论 -
爬虫---反反爬---IP
IPip反爬不用说了,入门级的解决:git上开源的proxy_pool很多,找那个most star的,缺点用的人多,响应速度慢,可用率低。 公司有预算的话,购买付费代理,常用的几家:芝麻代理,阿布云,多贝云,大象,曾打电话给代理公司,貌似都是在全国各地拉网线,建机房,ADSL拨号,质量差不太多,详细参考崔庆才博客,有自测12家付费代理文章。 ip封的不是太厉害的,在家庭网状态下,...原创 2019-02-20 09:57:47 · 211 阅读 · 0 评论 -
爬虫---反反爬---Cookie
服务端通过cookie判断是否为一个爬虫程序,爬虫通过添加cookie获取登录后的页面 cookie一般开始的时候先不要携带,如果不确定反爬的防线,尝试先从UA,ip入手,开始的时候携带cookie有可能服务器通过识别cookie发现爬虫。 cookie反反爬的解决 直接粘贴复制chrome开发者中找到的cookie,根据网站情况不同,请求速度不是太快的话,可以使用 更换账...原创 2019-02-20 09:57:06 · 2168 阅读 · 0 评论 -
爬虫---反反爬---验证码
尝试手机版,相对来说反爬较弱。 图形验证码 OCR二值化,去灰度,识别率低。 打码平台(超级鹰,云打码) 深度学习训练,成本高,适用范围小 OpenCV,SimpleCV 算数验证码 OCR 打码平台 滑动验证码 selenium 破解加密算法 深度学习训练,标注缺口,识别缺口 点触验证码 OCR + 图像匹配(百度识图) 打码平台 ...原创 2019-02-20 09:55:42 · 805 阅读 · 0 评论 -
爬虫---反反爬---headers
1.一般可直接全复制进去2.部分网站放入部分参数才可以,全部放进去反而获取不到理想页面,比较重要的3个:UA,Cookie,Referer。3:可用pycharm正则处理复制过来的headers,也可写脚本处理。其他参数的解释: Connection:链接类型 keep-alive 支持使用长连接,复用上次连接,因为有三次握手,四次挥手消耗时间,不断开连接,直接使用上次的连...原创 2019-02-20 09:54:49 · 953 阅读 · 0 评论 -
爬虫---反反爬---前端
前端js生成formdata中的参数,普通例如:生成16位随机字符串,高级点的加密字符串:网易音乐 font-face拼凑式,woff字体文件,猫眼电影:相对来说简单,找到字体对应的正确数值,替换就可以。 background拼凑式,与font的策略类似,美团里用到的是background拼凑。数字其实是图片,根据不同的background偏移,显示出不同的字符,并且不同页面,图片的字符排序也...原创 2019-02-19 09:41:11 · 298 阅读 · 0 评论 -
Python---爬虫---清洗---json 和 demjson
json json.load,json.dump是实现类文件对象(具有read和write方法的对象,比如一个file)和python类型的转化 json.loads 将josn转换成字符串,josn.dumps将字符 串转换成josn json.dumps(ret,ensure_ascii = Flase,indent=2(进行可视化操作,往后退2个)),添加ensu...原创 2019-02-19 09:37:19 · 351 阅读 · 0 评论 -
Python---爬虫---解析---xpath
重要语法 / 根节点选取 //当前目录下所有该节点 .当前节点 ..当前节点的父节点 节点选择语法 /a/b[1], 选取a节点下的第一个b节点 /a/b[last()], 选取a节点下的最后一个b节点 /a/b[last()-1], 选取a节点下的倒数2个b节点 /a/b[position()...原创 2019-02-19 09:36:41 · 188 阅读 · 0 评论 -
Python---爬虫---清洗---汉语转拼音
pip3 installxpinyinhanzi = '小明'p = Pinyin()pinyin = p.get_pinyin(hanzi,'')print(pinyin)'''''''xiaoming'''''''原创 2019-02-18 00:16:45 · 210 阅读 · 0 评论 -
Python---爬虫---解析---lxml
解析习惯用lxml + xpath1.from lxml import etree2.使用etree.HTML()将bytes类型和html类型的字符串转换为element对象,然后使用 xpath处理element对象3.etree.tostring把element对象转换为字符串,自动补全代码 ...原创 2019-02-19 09:31:55 · 118 阅读 · 0 评论 -
Python---爬虫---解析---CSS选择器
原创 2019-02-19 09:32:24 · 360 阅读 · 0 评论 -
Python---爬虫---解析---正则表达式(re)
预定义字符集 \d[0,9],\D取反 \s[空格\r\f\t\n\v](空白字符),\S取反 \w[A-Za-z0-9_],\W取反 字符re.findall(".","\n",re.DOTALL(可以匹配换行符)/re.S(DOTALL的缩写)),在DOTALL模式中 . 可以匹配换行符。 \ 反斜杠转义 , a[a,b,c]z或者| (或者abc|ac...原创 2019-02-19 09:31:21 · 250 阅读 · 0 评论 -
Python---爬虫---解析---提取(解析)epub电子书数据
1.epub电子书为rar压缩格式,首先使用rar解压电子书,可以发现出现很多html文件。2.使用lxml+xpath解析提取html文本中所需要的数据。 # 使用html2text 提取html中的文本import html2texth=html2text.HTML2Text()h.ignore_links=Truetxt = h.handle(html) ...原创 2019-02-18 00:18:30 · 3845 阅读 · 0 评论 -
Python---爬虫---智能解析---newspaper
智能解析的深度学习切入方向 标题,一般它的字号是比较大的,而且长度不长,位置一般都在页面上方,而且大部分情况下它应该和 title 标签里的内容是一致的 正文,它的内容一般是最多的,而且会包含多个段落 p 或者图片 img 标签,另外它的宽度一般可能会占用到页面的三分之二区域,并且密度(字数除以标签数量)会比较大。 时间,不同语言的页面可能不同,但时间...原创 2019-02-18 00:17:14 · 807 阅读 · 0 评论