爬虫开发
agsddd
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 529 阅读 · 0 评论 -
爬虫---反反爬---前端
前端js生成formdata中的参数,普通例如:生成16位随机字符串,高级点的加密字符串:网易音乐 font-face拼凑式,woff字体文件,猫眼电影:相对来说简单,找到字体对应的正确数值,替换就可以。 background拼凑式,与font的策略类似,美团里用到的是background拼凑。数字其实是图片,根据不同的background偏移,显示出不同的字符,并且不同页面,图片的字符排序也...原创 2019-02-19 09:41:11 · 425 阅读 · 0 评论 -
爬虫---反反爬---headers
1.一般可直接全复制进去2.部分网站放入部分参数才可以,全部放进去反而获取不到理想页面,比较重要的3个:UA,Cookie,Referer。3:可用pycharm正则处理复制过来的headers,也可写脚本处理。其他参数的解释: Connection:链接类型 keep-alive 支持使用长连接,复用上次连接,因为有三次握手,四次挥手消耗时间,不断开连接,直接使用上次的连...原创 2019-02-20 09:54:49 · 1090 阅读 · 0 评论 -
爬虫---反反爬---验证码
尝试手机版,相对来说反爬较弱。 图形验证码 OCR二值化,去灰度,识别率低。 打码平台(超级鹰,云打码) 深度学习训练,成本高,适用范围小 OpenCV,SimpleCV 算数验证码 OCR 打码平台 滑动验证码 selenium 破解加密算法 深度学习训练,标注缺口,识别缺口 点触验证码 OCR + 图像匹配(百度识图) 打码平台 ...原创 2019-02-20 09:55:42 · 941 阅读 · 0 评论 -
爬虫---反反爬---Cookie
服务端通过cookie判断是否为一个爬虫程序,爬虫通过添加cookie获取登录后的页面 cookie一般开始的时候先不要携带,如果不确定反爬的防线,尝试先从UA,ip入手,开始的时候携带cookie有可能服务器通过识别cookie发现爬虫。 cookie反反爬的解决 直接粘贴复制chrome开发者中找到的cookie,根据网站情况不同,请求速度不是太快的话,可以使用 更换账...原创 2019-02-20 09:57:06 · 2291 阅读 · 0 评论 -
爬虫---反反爬---IP
IPip反爬不用说了,入门级的解决:git上开源的proxy_pool很多,找那个most star的,缺点用的人多,响应速度慢,可用率低。 公司有预算的话,购买付费代理,常用的几家:芝麻代理,阿布云,多贝云,大象,曾打电话给代理公司,貌似都是在全国各地拉网线,建机房,ADSL拨号,质量差不太多,详细参考崔庆才博客,有自测12家付费代理文章。 ip封的不是太厉害的,在家庭网状态下,...原创 2019-02-20 09:57:47 · 311 阅读 · 0 评论 -
爬虫---反反爬---User-Agent
User-Agent1、用户代理,浏览器身份识别2、通过它判断是谁在发送请求,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等3、代码中添加User-Agent实现模拟浏览器4.某大牛写了个库,fake-useragent,本质其实也是个爬虫。可随机生成UA。pip install fake-useragent...原创 2019-02-20 09:58:03 · 735 阅读 · 0 评论 -
爬虫智能解析浅谈
智能解析的深度学习切入方向 标题,一般它的字号是比较大的,而且长度不长,位置一般都在页面上方,而且大部分情况下它应该和 title 标签里的内容是一致的 正文,它的内容一般是最多的,而且会包含多个段落 p 或者图片 img 标签,另外它的宽度一般可能会占用到页面的三分之二区域,并且密度(字数除以标签数量)会比较大。 时间,不同语言的页面可能不同,但时间的格式...原创 2019-03-08 14:19:38 · 313 阅读 · 0 评论 -
Python---爬虫---清洗---jieba分词
jieba中文处理和拉丁语系不同,亚洲语言是不用空格分开每个有意义的词的。而当我们进行自然语言处理的时候,大部分情况下,词汇是我们对句子和文章理解的基础,因此需要一个工具去把完整的文本中分解成粒度更细的词。jieba就是这样一个非常好用的中文工具,是以分词起家的,但是功能比分词要强大很多。1.基本分词函数与用法jieba.cut 以及 jieba.cut_for_search 返回...原创 2019-03-08 15:40:05 · 2643 阅读 · 0 评论 -
Python---爬虫---清洗---phonenumbers(电话号码解析)
安装:pip3 installphonenumbers1.把看似不一样的号码规范到同一个号码>>> import phonenumbers>>> x = phonenumbers.parse("+442083661177", None)>>> y = phonenumbers.parse("020 8366 1177", ...原创 2019-03-08 18:11:39 · 2381 阅读 · 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 · 1226 阅读 · 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 · 1013 阅读 · 0 评论 -
爬虫---请求错误后重试---retrying
pip3 install retryingfrom retrying import retry在代码上添加@retry(添加错误次数)@retry(stop_max_attempt_number=10)原创 2019-02-19 09:39:56 · 599 阅读 · 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 · 1342 阅读 · 3 评论 -
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 · 341 阅读 · 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 · 308 阅读 · 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 · 390 阅读 · 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 · 1436 阅读 · 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 · 274 阅读 · 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 · 953 阅读 · 0 评论 -
Python---爬虫---清洗---unicode编码转成中文显示问题
unicodestr = '\u4f60\u597d'eval("u"+"\'"+unicodestr+"\'")原创 2019-03-14 13:52:10 · 970 阅读 · 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 · 280 阅读 · 0 评论 -
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 · 898 阅读 · 1 评论 -
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 · 1097 阅读 · 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 · 277 阅读 · 0 评论 -
Python3 mac 安装 cv2
pip3 install opencv-python原创 2019-02-16 23:28:28 · 7106 阅读 · 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 · 483 阅读 · 0 评论 -
Python3 AttributeError: module 'urllib' has no attribute 'request'
question: import urllibresolve: import urllib.request原创 2019-02-16 23:31:40 · 1306 阅读 · 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 · 2514 阅读 · 0 评论 -
TypeError: 'str' object is not callable
还有内部函数被用作变量名也可能出现这种错误原创 2018-06-10 13:43:55 · 1127 阅读 · 0 评论 -
Python---爬虫---清洗---汉语转拼音
pip3 installxpinyinhanzi = '小明'p = Pinyin()pinyin = p.get_pinyin(hanzi,'')print(pinyin)'''''''xiaoming'''''''原创 2019-02-18 00:16:45 · 328 阅读 · 0 评论 -
Python---爬虫---智能解析---newspaper
智能解析的深度学习切入方向 标题,一般它的字号是比较大的,而且长度不长,位置一般都在页面上方,而且大部分情况下它应该和 title 标签里的内容是一致的 正文,它的内容一般是最多的,而且会包含多个段落 p 或者图片 img 标签,另外它的宽度一般可能会占用到页面的三分之二区域,并且密度(字数除以标签数量)会比较大。 时间,不同语言的页面可能不同,但时间...原创 2019-02-18 00:17:14 · 1019 阅读 · 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 · 358 阅读 · 0 评论 -
爬虫页面无效错误:b‘Tag footer invalid’
爬取页面无效,跳过就行。原创 2018-06-04 22:59:39 · 390 阅读 · 0 评论 -
Python---爬虫---请求---urljoin自动补全url
>>>from urllib.parse import urljoin>>> urljoin("http://www.chachabei.com/folder/currentpage.html", "anotherpage.html")'http://www.chachabei.com/folder/anotherpage.html'>>>原创 2019-02-18 00:17:59 · 2140 阅读 · 0 评论 -
Python---爬虫---解析---获取音频的时长(pydub 和 librosa)
from pydub.utils import mediainfosong = mediainfo("./(李豁子离婚)全场 胡希华.mp3")print(song['duration'])import librosatime = librosa.get_duration(filename='./(李豁子离婚)全场 胡希华.mp3')print(time)...原创 2019-02-18 00:18:13 · 8317 阅读 · 4 评论 -
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 · 4189 阅读 · 0 评论 -
Python---爬虫---获取网页编码格式
meta标签下的content属性,其中的charset表示网页的编码格式 利用的是python中的chardet包。chardet的detect方法可以检测传入字符串的编码格式,同时给出检测准确度 ...原创 2019-02-18 00:18:47 · 951 阅读 · 0 评论 -
Python---爬虫---进程中断(爬虫挂掉)重启
question有的网站会凌晨重启,导致爬虫崩溃 遇到未考虑的异常或者使用selenium网络延迟导致程序中断solve写ssh脚本检查爬虫程序是否正常运行,挂掉重新拉起 while [ 1 ];do python3 asynci_spider.pydone ...原创 2019-02-18 00:19:04 · 5177 阅读 · 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 · 748 阅读 · 0 评论
分享