
爬虫开发
agsddd
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ubuntu python 版本升级后 No module named 'apt_pkg' No module named 'pip._internal'
1.解决No module named 'apt_pkg'sudo apt-get remove python3-aptsudo apt-get install python3-apt2.解决No module named 'pip._internal'curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pypyt...原创 2019-06-24 15:15:24 · 868 阅读 · 1 评论 -
Python---爬虫---清洗---Levenshtein(计算字符串相似度,编辑距离等)
安装:pip install python-Levenshtein1.Levenshtein.hamming(str1, str2) ,计算汉明距离。要求str1和str2必须长度一致。是描述两个等长字串之间对应位置上不同字符的个数。2.Levenshtein.distance(str1, str2),计算编辑距离(也成Levenshtein距离)。是描述由一个字串转化成另一个字串最少的操...原创 2019-03-08 19:42:00 · 1158 阅读 · 0 评论 -
Python---爬虫---清洗---phonenumbers(电话号码解析)
安装:pip3 installphonenumbers1.把看似不一样的号码规范到同一个号码>>> import phonenumbers>>> x = phonenumbers.parse("+442083661177", None)>>> y = phonenumbers.parse("020 8366 1177", ...原创 2019-03-08 18:11:39 · 2142 阅读 · 0 评论 -
Python---爬虫---清洗---jieba分词
jieba中文处理和拉丁语系不同,亚洲语言是不用空格分开每个有意义的词的。而当我们进行自然语言处理的时候,大部分情况下,词汇是我们对句子和文章理解的基础,因此需要一个工具去把完整的文本中分解成粒度更细的词。jieba就是这样一个非常好用的中文工具,是以分词起家的,但是功能比分词要强大很多。1.基本分词函数与用法jieba.cut 以及 jieba.cut_for_search 返回...原创 2019-03-08 15:40:05 · 2556 阅读 · 0 评论 -
爬虫智能解析浅谈
智能解析的深度学习切入方向 标题,一般它的字号是比较大的,而且长度不长,位置一般都在页面上方,而且大部分情况下它应该和 title 标签里的内容是一致的 正文,它的内容一般是最多的,而且会包含多个段落 p 或者图片 img 标签,另外它的宽度一般可能会占用到页面的三分之二区域,并且密度(字数除以标签数量)会比较大。 时间,不同语言的页面可能不同,但时间的格式...原创 2019-03-08 14:19:38 · 268 阅读 · 0 评论 -
爬虫---反反爬---User-Agent
User-Agent1、用户代理,浏览器身份识别2、通过它判断是谁在发送请求,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等3、代码中添加User-Agent实现模拟浏览器4.某大牛写了个库,fake-useragent,本质其实也是个爬虫。可随机生成UA。pip install fake-useragent...原创 2019-02-20 09:58:03 · 656 阅读 · 0 评论 -
爬虫---反反爬---IP
IPip反爬不用说了,入门级的解决:git上开源的proxy_pool很多,找那个most star的,缺点用的人多,响应速度慢,可用率低。 公司有预算的话,购买付费代理,常用的几家:芝麻代理,阿布云,多贝云,大象,曾打电话给代理公司,貌似都是在全国各地拉网线,建机房,ADSL拨号,质量差不太多,详细参考崔庆才博客,有自测12家付费代理文章。 ip封的不是太厉害的,在家庭网状态下,...原创 2019-02-20 09:57:47 · 284 阅读 · 0 评论 -
爬虫---反反爬---Cookie
服务端通过cookie判断是否为一个爬虫程序,爬虫通过添加cookie获取登录后的页面 cookie一般开始的时候先不要携带,如果不确定反爬的防线,尝试先从UA,ip入手,开始的时候携带cookie有可能服务器通过识别cookie发现爬虫。 cookie反反爬的解决 直接粘贴复制chrome开发者中找到的cookie,根据网站情况不同,请求速度不是太快的话,可以使用 更换账...原创 2019-02-20 09:57:06 · 2226 阅读 · 0 评论 -
爬虫---反反爬---验证码
尝试手机版,相对来说反爬较弱。 图形验证码 OCR二值化,去灰度,识别率低。 打码平台(超级鹰,云打码) 深度学习训练,成本高,适用范围小 OpenCV,SimpleCV 算数验证码 OCR 打码平台 滑动验证码 selenium 破解加密算法 深度学习训练,标注缺口,识别缺口 点触验证码 OCR + 图像匹配(百度识图) 打码平台 ...原创 2019-02-20 09:55:42 · 894 阅读 · 0 评论 -
爬虫---反反爬---headers
1.一般可直接全复制进去2.部分网站放入部分参数才可以,全部放进去反而获取不到理想页面,比较重要的3个:UA,Cookie,Referer。3:可用pycharm正则处理复制过来的headers,也可写脚本处理。其他参数的解释: Connection:链接类型 keep-alive 支持使用长连接,复用上次连接,因为有三次握手,四次挥手消耗时间,不断开连接,直接使用上次的连...原创 2019-02-20 09:54:49 · 1043 阅读 · 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 · 956 阅读 · 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 · 473 阅读 · 0 评论 -
工作中常用的liunx 命令
1.批量杀死包含某个程序或端口的进程PID(经常碰到端口占用的情况)lsof -i:8000 | awk '{print $2}'| xargs sudo kill or kill -9 $(lsof -i tcp:8080 -t)2.查看某个文件夹下各文件的大小/占用内存(因为是爬虫工程师磁盘空间经常不够,根据情况需要删除占用空间大的文件)du -sh * d...原创 2019-06-26 13:17:06 · 239 阅读 · 0 评论 -
Python---爬虫---清洗---unicode编码转成中文显示问题
unicodestr = '\u4f60\u597d'eval("u"+"\'"+unicodestr+"\'")原创 2019-03-14 13:52:10 · 911 阅读 · 0 评论 -
Python---爬虫---Save---CSV
csv写入:import csv# 文件写入with open('data.csv', 'w') as csvfile: # 初始化写入对象f_csv_wt = csv.writer(csvfile) # writerow 写入f_csv_wt.writerow(['id', 'name', 'age']) # writerow...原创 2019-03-09 11:17:27 · 875 阅读 · 0 评论 -
Python---爬虫---Save---Execel
Execel读取:1、导入模块 import xlrd2、打开Excel文件读取数据 data = xlrd.open_workbook('excel.xls')3、获取一个工作表1 table = data.sheets()[0] #通过索引顺序获取2 table = data.sheet_by_index(0) #通过索引...原创 2019-03-09 10:56:41 · 223 阅读 · 0 评论 -
Python---爬虫---速---aiomultiprocess
# -*- coding: utf-8 -*-## Imports#import asyncioimport hashlibimport timeimport datetimeimport jsonfrom aiomultiprocess import Poolfrom redis import *from pybloom_live import BloomFilt...原创 2019-03-09 10:32:09 · 1403 阅读 · 0 评论 -
Python---爬虫---速---asyncio
import asyncioimport timeimport reimport multiprocessing as mpimport osimport aiohttpfrom scrapy import Selectorimport xlwt# from apscheduler.schedulers.asyncio import AsyncIOScheduler# fro...原创 2019-03-09 10:25:36 · 354 阅读 · 0 评论 -
Python---爬虫---速---multiprocessing
import requestsimport timeimport multiprocessingimport osfrom lxml import etreestart = time.time()def request(url): headers = { 'Accept': 'text/html,application/xhtml+xml,applicat...原创 2019-03-09 10:19:17 · 255 阅读 · 0 评论 -
Python---爬虫---速---gevent
import gevent.monkeygevent.monkey.patch_all()# 补丁 修改了低层 scoket模块; 非阻塞from gevent.pool import Poolfrom queue import Queueimport timeimport reimport csvimport requestslist = []list_url = [...原创 2019-03-09 10:15:21 · 295 阅读 · 0 评论 -
Python---爬虫---反反爬---execjs(python执行js库)
1.pip3 installPyExecJS2.需要安装一个JS运行环境:Node.js 或 PhantomJS。import execjs# Init environmentnode = execjs.get()# Compile javascript(自己需要调用方法的js文件)file = 'open_id.js'ctx = node.compile(open...原创 2019-03-09 09:59:51 · 1276 阅读 · 3 评论 -
爬虫---反反爬---前端
前端js生成formdata中的参数,普通例如:生成16位随机字符串,高级点的加密字符串:网易音乐 font-face拼凑式,woff字体文件,猫眼电影:相对来说简单,找到字体对应的正确数值,替换就可以。 background拼凑式,与font的策略类似,美团里用到的是background拼凑。数字其实是图片,根据不同的background偏移,显示出不同的字符,并且不同页面,图片的字符排序也...原创 2019-02-19 09:41:11 · 386 阅读 · 0 评论 -
爬虫---请求错误后重试---retrying
pip3 install retryingfrom retrying import retry在代码上添加@retry(添加错误次数)@retry(stop_max_attempt_number=10)原创 2019-02-19 09:39:56 · 533 阅读 · 0 评论 -
Python---爬虫请求库---requests
使用request的优势 requests的底层实现就是urllib(更加简单,方便。) requests在python2 和python3中通用,方法完全一样 requests简单易用 Requests能够自动帮助我们解压(gzip压缩的等)网页内容(urllib需要自动解压)response.status_code (状态码) response的常用方...原创 2019-02-19 09:38:02 · 243 阅读 · 0 评论 -
Python---爬虫---智能解析---newspaper
智能解析的深度学习切入方向 标题,一般它的字号是比较大的,而且长度不长,位置一般都在页面上方,而且大部分情况下它应该和 title 标签里的内容是一致的 正文,它的内容一般是最多的,而且会包含多个段落 p 或者图片 img 标签,另外它的宽度一般可能会占用到页面的三分之二区域,并且密度(字数除以标签数量)会比较大。 时间,不同语言的页面可能不同,但时间...原创 2019-02-18 00:17:14 · 941 阅读 · 0 评论 -
Python---爬虫---清洗---汉语转拼音
pip3 installxpinyinhanzi = '小明'p = Pinyin()pinyin = p.get_pinyin(hanzi,'')print(pinyin)'''''''xiaoming'''''''原创 2019-02-18 00:16:45 · 283 阅读 · 0 评论 -
TypeError: 'str' object is not callable
还有内部函数被用作变量名也可能出现这种错误原创 2018-06-10 13:43:55 · 1108 阅读 · 0 评论 -
mac 根据 进程名 kill
问题:1.运行pyspider,地址已存在,2.phantomjs提前运行,Error: Could not create web server listening on port 25555解决:杀死已存在进程sudo pkill -f process_name原创 2019-01-15 12:38:53 · 2465 阅读 · 0 评论 -
Python3 AttributeError: module 'urllib' has no attribute 'request'
question: import urllibresolve: import urllib.request原创 2019-02-16 23:31:40 · 1263 阅读 · 0 评论 -
ubuntu cd 进不去cannot create temp file for here-document: No space left on device
1.终端: lsof / |grep deleted 显示没有删掉的应用程序线程,他们的后面都带有【deleted】2.kill -9 线程PID解决问题原创 2019-02-16 23:29:34 · 454 阅读 · 0 评论 -
Python3 mac 安装 cv2
pip3 install opencv-python原创 2019-02-16 23:28:28 · 7048 阅读 · 0 评论 -
2019 Mac 安装 chromdriver
1.下载地址:http://chromedriver.storage.googleapis.com/index.html2.选择与所使用chrome版本对应的安装包3.进入所选版本的文件夹打开其中notes.txt文件,有指定所支持的版本范围4.将下载的可执行文件移到/usr/local/bin下 ` sudo mv chromedriver /usr/local/bin/chr...原创 2019-02-16 23:20:00 · 234 阅读 · 0 评论 -
Scrapy 中 logging日志的应用
Scrapy提供5层logging级别:CRITICAL - 严重错误(critical) ERROR - 一般错误(regular errors) WARNING - 警告信息(warning messages) INFO - 一般信息(informational messages) DEBUG - 调试信息(debugging messages)...原创 2019-02-18 00:17:30 · 308 阅读 · 0 评论 -
Python---爬虫---警报功能
语音播报: # mac 系统下from os import systemdata = '爬虫报错'system('say -v{}'.format(data))# 高级些可以使用from Cocoa import NSSpeechSynthesizerfrom AppKit import NSSpeechSynthesizer 2.发送手机短信 fr...原创 2019-02-18 00:17:43 · 1032 阅读 · 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 · 409 阅读 · 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 · 250 阅读 · 0 评论 -
Python---爬虫---解析---CSS选择器
原创 2019-02-19 09:32:24 · 451 阅读 · 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 · 160 阅读 · 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 · 309 阅读 · 0 评论 -
Python---爬虫---存储---(布隆过滤器)BloomFilter(数据去重,断点续爬)
pip3 install pybloom_live from pybloom_live import BloomFilterimport hashlibBloom_data = BloomFilter(1000000000,0.01)md5_qa = hashlib.md5(data.encode('utf8')).hexdigest()md5_qa = bytes...原创 2019-02-18 00:19:25 · 699 阅读 · 0 评论