![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Data acquisition reference
文章平均质量分 58
ROOOOOOM
room
展开
-
python爬虫(十六)-------------------python多进程与多线程
进程与线程的选择在Linux/Unix环境下,成本并不比进程低。如果4种开销,那基本一样在Windows环境下优先考虑线程(windows下进程的成本要远超线程)通信问题:线程之间通信用全局变量就行了,而进程之间通信比较麻烦还需要引入进程之间通信的机制多线程比多进程稳定:多进程模式最大的优点就是稳定性高,因为一个子进程崩溃了,不会影响主进程和其他子进程首先基础知识...原创 2019-04-01 21:49:35 · 210 阅读 · 0 评论 -
css伪类选择器分别在前端与python爬虫中的使用
css伪类选择器在前端中的使用:伪类选择器:LoVe HAte只有a标签符合爱恨原则(四个伪要按照顺序写)a:link 没有被访问的La:visited 访问过后的Va:hover 鼠标悬停的时候Ha:active 摁住的时候A<!DOCTYPE html><html lang="en"><head> <me...原创 2019-07-12 21:52:07 · 454 阅读 · 0 评论 -
四种清除html中标签的方法
第一种:正则:r = session.get(the_url, headers=header) res = r.json() city_list = jsonpath.jsonpath(res, "$..text")#"$..name"取所有k=name的v for name in city_list: name=nam...原创 2019-07-08 21:28:58 · 6287 阅读 · 0 评论 -
selenuim打开淘宝弹登陆解决
用selenuim打开的浏览器没有淘宝cookies,可用H5的手机页面配合fidder抓包搞到json数据原创 2019-07-03 11:08:35 · 367 阅读 · 0 评论 -
ip代理的匿名度
HTTP代理按匿名度可分为透明代理、匿名代理和高度匿名代理。使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP。透明代理访问对方服务器所带的HTTP头信息如下:REMOTE_ADDR = 代理服务器IPHTTP_VIA = 代理服务器IPHTTP_X_FORWARDED_FOR = 你的真实IP透明代理还是将你的真实IP发送给了对方服务器,因此无法达到隐藏身份的目的。...转载 2019-05-01 08:16:12 · 1493 阅读 · 0 评论 -
scrapy常用命令
scrapy startproject MySpiderscrapy genspider -lscrapy genspider -t basic example example.comipythonscrapy shell "YourUrl"原创 2019-04-30 22:31:33 · 237 阅读 · 0 评论 -
scrapy settings各个配置项详解
# -*- coding: utf-8 -*-# Scrapy settings for step8_king project## For simplicity, this file contains only settings considered important or# commonly used. You can find more settings consulting the...转载 2019-04-30 21:01:35 · 821 阅读 · 0 评论 -
scrapy genspider basic baidu ModuleNotFoundError: No module named 'urlparse'
Traceback (most recent call last): File "c:\python37\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\python37\lib\runpy.py", line 85, in _run_code exec(code...原创 2019-04-24 13:06:41 · 591 阅读 · 0 评论 -
重写Scrapy的自动以md5命名的图片下载管道实现图片重命名
http://www.scrapyd.cn/example/175.html转载 2019-04-23 22:37:56 · 356 阅读 · 0 评论 -
pytesseract PermissionError: [WinError 5] 拒绝访问
Traceback (most recent call last): File "C:\Python37\lib\site-packages\pytesseract\pytesseract.py", line 185, in run_tesseract proc = subprocess.Popen(cmd_args, **subprocess_args()) ...原创 2019-05-03 10:47:39 · 4820 阅读 · 2 评论 -
webdeveloper and spider工具Firebug安装
火狐扩展商店:https://addons.mozilla.org/zh-CN/firefox/collections/mozilla/webdeveloper/参考:《Python爬虫开发与项目实战》P95原创 2019-05-03 09:52:05 · 214 阅读 · 0 评论 -
强大的谷歌插件css生成器SelectorGadget
https://chrome.google.com/webstore/detail/selectorgadget/mhjhnkcfbdhnjickkkdbjoemdmbfginb原创 2019-07-14 10:55:41 · 2052 阅读 · 0 评论 -
app的爬虫工具
Charles 和 mitmproxy相当于fidderAppium相当于Selenium原创 2019-07-10 16:31:00 · 3326 阅读 · 0 评论 -
json.dumps()
def write_to_file(content):'''随后,我们将提取的结果写入文件,这里直接写入到一个文本文件中 。这里通过 JSON 库的 dumps()方法实现字典的序列化(dumps详情),并指定 ensure_ascii 参数为 False ,这样可以保证输出结果是中文形式而不是 Unicode 编码 。json.dumps 序列化时对中文默认使用的 ascii 编码'...原创 2019-07-06 17:04:15 · 3559 阅读 · 0 评论 -
spider常用python模块
datetimecollectionsbase64structhashlibhmacitertoolscontextlibullibXMLHTMLParser原创 2019-09-14 10:31:01 · 554 阅读 · 0 评论 -
多线程、多进程、协程
多线程、多进程、协程爬虫对于操作系统来说,一个任务就是个进程(Process) ,比如打开 个vs code就是启动个vs code进程,打开一个vim就启动了 一个vim进程,打开vim就启动了vim进程,打开个Word就启动了个Word进程。有些进程还不止同时干件事,比如word 它可以同时进行打字、 拼写检查、打印等事情。在一个进程内部, 要同时干多件事,就需要同时运行多个“子任务”...原创 2019-09-14 10:18:03 · 187 阅读 · 0 评论 -
几种语言在爬虫场景下的力量对比
PHP爬虫:代码简单,并发处理能力较弱:由于当时PHP没有线程、进程功能要想实现并发需要借用多路复用模型R语言爬虫:操作简单,功能太弱,只适用于小规模的爬取,不适合大规模的爬取Python爬虫:有着各种成熟的爬虫框架(eg:scrapy家族),可以方便高效的下载网页并且支持多线程,进程模型成熟稳定,爬虫是是一个典型的多任务处理场景,请求页面时会有较长的延迟,总体来说更多的是等待,多线...原创 2019-08-19 07:50:01 · 1193 阅读 · 0 评论 -
selenium geckodriver:Tried to run command without establishing a connection解决
selenium.common.exceptions.InvalidSessionIdException: Message: Tried to run command without establishing a connection去掉browser.close()即可import timefrom selenium.common.exceptions import TimeoutExce...原创 2019-08-05 10:51:31 · 6156 阅读 · 1 评论 -
爬虫之用 base64 解密
import base64#decode()转成字符串img_url = 'http:'+base64.b64decode(img_hash).decode()img_name = img_url.split('/')[-1]urllib.request.urlretrieve(url=img_url,filename=img_name)原创 2019-07-18 21:31:49 · 738 阅读 · 0 评论 -
md5不可逆
网站反爬机制对 url 加密不可能用 md5,因为 md5 不可逆原创 2019-07-18 21:06:06 · 413 阅读 · 0 评论 -
谷歌抓包工具js全局搜索
原创 2019-07-18 20:55:41 · 1291 阅读 · 0 评论 -
sqlalchemy----------表达式语言Level
zoo 是连接 SQL 数据库和 Python 数据结构的一个对象:meta = sa.MetaData()zoo = sa.Table('zoo', meta,sa.Column('critter', sa.String, primary_key=True),sa.Column('count', sa.Integer), sa.Column('damages', sa.Float))...原创 2019-04-27 19:53:17 · 234 阅读 · 0 评论 -
sqlalchemy----------Engine ConfiguratioLevel
eg:SQLite:字符串参数基本格式 sqlite://<nohostname>/<path> 在当前目录创建写入一个sqlite数据库文件engine = sqlalchemy.create_engine('sqlite:///foo.db')engine .execute('''CREATE TABLE zoo(critter VARCHAR(20) PRI...原创 2019-04-27 19:29:31 · 255 阅读 · 0 评论 -
scrapy shell 调试返回403 返回为[]
https://blog.csdn.net/weixin_35913759/article/details/76546171转载 2019-04-22 20:17:54 · 265 阅读 · 0 评论 -
python爬虫(四)-------------------xml解析模块之DOM模型
from xml.dom import minidom'''DOM 把整个XML读入内存,解析为树,即生成DOM树因此占用内存大,解析慢,不适合处理大型文本,因为大文本往往是为了少量的数据生成一个很大的DOM树在内存中,效率低优点是可以任意遍历树的节点'''doc = minidom.parse(r'xmlfilepath.xml') # 读入root = doc.docum...原创 2019-04-02 00:20:41 · 289 阅读 · 0 评论 -
python爬虫(三)-------------------json
import json#基本操作就是str与dict的互相转换obj = {'one': '一', 'two': '二'}encoded = json.dumps(obj)print(type(encoded))#strprint(encoded)decoded = json.loads(encoded)print(type(decoded))#dictprint(decoded...原创 2019-04-01 23:54:28 · 147 阅读 · 0 评论 -
python爬虫(二)-------------------Xpath
xpath比css功能更强大,它更复杂,节点之间的关系功能更多,有父、子、同胞(兄弟)、先辈、后代重点在于层级切换下面这些基本就够用了,更多牛逼的功能一般用不到bookstore 选取bookstore元素的所有子节点/bookstore 选取根元素bookstore/bookstore/book 选取属于bookstore的子元素的所有book元素//book 选取所有b...原创 2019-04-01 23:03:21 · 121 阅读 · 0 评论 -
python爬虫(一)-------------------css选择器
HTML不直接使用属性设置元素而用css的原因:修改时需要改的地方太多,用css统一的模板效率高得多基本选择语法:http://www.w3school.com.cn/cssref/css_selectors.asp1id选择器与类选择器的区别:id选择器只能选择唯一的元素 因为id的属性是唯一的即class可以从名,而id不可以...原创 2019-04-01 22:44:33 · 429 阅读 · 0 评论 -
PhantomJS已死,请换browser
我在官网:http://phantomjs.org/download.html试了几遍都不能下载,原来…参考:http://www.sohu.com/a/224999034_100122143/原创 2019-04-07 11:43:32 · 982 阅读 · 0 评论 -
python爬虫(二十七)---redis可视化工具Redis Desktop Manager的使用
why Redis Desktop Manager:支持 Windows、Mac OS X、Linux 等平台启动redis-server 加你要使用的配置redis.conf(配置完bind ip的conf)原创 2019-04-05 17:05:32 · 482 阅读 · 0 评论 -
python爬虫(二十六)------消息队列之kv数据库Redis(window版本)介绍redis模块
介绍:与RabbitMQ对比Redis: 轻量级,高并发,延迟敏感。适用于即时数据分析、秒杀计数器、缓存等RabbitMQ: 比Redis更专业的重量级,高并发,异步消息队列。适用于批量数据异步处理、并行任务串行化,高负载任务的负载均衡等常用与银行交易系统选择:只要求速度,不要求100%的准确,就可以用成本较低的Redis作为消息队列安装:https://blog.csdn.net...原创 2019-04-04 22:00:14 · 296 阅读 · 0 评论 -
python爬虫(二十五)-------------------商业爬虫 流水线与批处理
多机器并发分布式的控制模式与自由模式在实际的应用过程中一般是混合使用,因为控制模式中的控制节点就是你的瓶颈,而自由模式节点之间通信的成本的较高:URLManager:爬虫系统的核心。负责URL的重要性排序,分发,调度,任务分配。单个的爬虫完成一批URL的爬取任务之后,会找 URLManager要一批新的URL。一般来说,一个爬取任务中包含几千到一万个URL,这些URL最好是来自不同的host,...原创 2019-04-04 19:40:27 · 404 阅读 · 1 评论 -
python爬虫(二十四)-------------------异步IO爬虫aiohttpa syncio
#比直接用多线程效率更高#asyncio主要是有yield再回到线程时可以继续在yield处继续往下走#如果不想用框架只是想简单用一个异步就用asyncio#对比c++的异步实现c++简直是反人性'''C:\Users\ASUS>pip install aiohttpCollecting aiohttp Using cached https://files.py...原创 2019-04-04 15:40:26 · 217 阅读 · 0 评论 -
python爬虫(二十三)-------------------线程池爬虫threadpool
import requestsimport threadpooldef get_stock(code): url = 'http://hq.sinajs.cn/list=' + code resp = requests.get(url).text print('%s\n' % resp)codes = ['sz000878', 'sh600993', 'sz00...原创 2019-04-04 14:24:26 · 426 阅读 · 0 评论 -
python爬虫(二十二)-------------------多线程爬虫threading
import requestsimport threadingdef get_stock(code): url = 'http://hq.sinajs.cn/list=' + code resp = requests.get(url).text print('%s\n' % resp)codes = ['sz000878', 'sh600993', 'sz000...原创 2019-04-04 14:19:38 · 250 阅读 · 0 评论 -
python爬虫(二十一)-------------------异步IO
如何提交单个cpu上的利用率?---------------------------------------异步IO异步IO主要应用在网站应用上,比如一个网站有1万个连接,但其实真正干事的不多,如果采用被动的轮询模式浪费太大,所以要用到主动的异步IO,即不需要轮询(我不需要知道你的状态,你干完活给我说一声行了),然后你交出空闲cpu的模式,这样虽然一万个连接但系统资源的占用就很低...原创 2019-04-04 00:23:19 · 198 阅读 · 0 评论 -
python爬虫(五)-------------------xml与HTML
不能用xml处理器来处理HTML 因为HTML语法格式不严谨比如标签的闭合原创 2019-04-02 00:39:03 · 167 阅读 · 0 评论 -
python爬虫(六)-------------------XML解析模块之SAX 流模式
基本的固定格式就这么写的:(边读边解析,占用内存小,解析快,缺点是需要自己处理事件)import stringfrom xml.parsers.expat import ParserCreateclass DefaultSaxHandler(object): def start_element(self, name, attrs): self.element...原创 2019-04-02 01:05:26 · 210 阅读 · 1 评论 -
python爬虫(七)-------------------正则re模块
import rem = re.match(r'\d{3}\-\d{3,8}', '010-12345')# print(dir(m))print(m.string)#打印匹配到的结果print(m.pos, m.endpos)'''参考: https://www.cnblogs.com/tina-python/p/5508402.html注:match和search一旦匹配成...原创 2019-04-02 13:05:56 · 142 阅读 · 0 评论 -
python爬虫(十九)-------------------动态网页ajax,js解决方案
1 使用浏览器内核(无头浏览器成本低,效率高)加载网页源码(瀑布流页面的下拉刷新)2 抓包工具获取ajax,js然后模拟请求3 当然得先试一下不搞js能不能搞到目标内容参考:https://www.cnblogs.com/shaosks/p/6950358.html...原创 2019-04-03 17:20:07 · 421 阅读 · 0 评论