![](https://img-blog.csdnimg.cn/20190712094146184.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python爬虫
文章平均质量分 58
python Learning summary of data collection
本专栏一步步带你进入有趣的爬虫世界
(python Data acquisition reference)
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
ROOOOOOM
room
展开
-
python closure(闭包)
# -*- coding: utf-8 -*-# @Author: WangZeling# @Date: 2019-06-24 18:40:06# @Last Modified by: WangZeling# @Last Modified time: 2019-07-05 14:49:54# @E-mail:1525148145@qq.com# 内部函数对外部函数作用域里变量...原创 2019-07-05 14:58:09 · 280 阅读 · 0 评论 -
python 之 json 模块
json.dumps 序列化时对中文默认使用的 ascii 编码。会输出中文的 ascii 编码想输出真正的中文需要指定 ensure_ascii=False:json.dumps(content ,ensure_ascii=False)原创 2019-11-25 22:37:43 · 151 阅读 · 0 评论 -
谷歌抓包工具js全局搜索
原创 2019-07-18 20:55:41 · 1291 阅读 · 0 评论 -
强大的谷歌插件css生成器SelectorGadget
https://chrome.google.com/webstore/detail/selectorgadget/mhjhnkcfbdhnjickkkdbjoemdmbfginb原创 2019-07-14 10:55:41 · 2052 阅读 · 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 评论 -
app的爬虫工具
Charles 和 mitmproxy相当于fidderAppium相当于Selenium原创 2019-07-10 16:31:00 · 3326 阅读 · 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 评论 -
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 评论 -
selenuim打开淘宝弹登陆解决
用selenuim打开的浏览器没有淘宝cookies,可用H5的手机页面配合fidder抓包搞到json数据原创 2019-07-03 11:08:35 · 367 阅读 · 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 · 4819 阅读 · 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 评论 -
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 评论 -
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 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 评论 -
scrapy shell 调试返回403 返回为[]
https://blog.csdn.net/weixin_35913759/article/details/76546171转载 2019-04-22 20:17:54 · 265 阅读 · 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爬虫(二十)-------------------线程池
多线程的上下文切换与创建与销毁的成本很大所有用线程池解决降低线程创建与销毁的成本!充分利用CPU,降低线程切换代价。使用threadingpoolimport timeimport threadpooldef long_op(n): print('%d\n' % n) time.sleep(2)#代表很长时间的工作#可以合理的选择线程池的大小pool =...原创 2019-04-04 00:02:02 · 245 阅读 · 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 评论 -
Python爬虫:Scrapy中runspider和crawl的区别
https://blog.csdn.net/mouday/article/details/88549031转载 2019-04-03 16:06:27 · 575 阅读 · 0 评论 -
python爬虫(十八)-------------------scrapy piplines.py
当一个item被蜘蛛爬取到之后会被发送给Item Pipeline,然后多个组件按照顺序处理这个itemItem Pipeline常用场景 :清理HTML数据验证被抓取的数据(检查item是否包含某些字段)重复性检查(然后丢弃)将抓取的数据存储到数据库中1 编写items.py2 在myspider.py中填充items3 然后才能使用piplines.py...原创 2019-04-03 11:16:38 · 293 阅读 · 0 评论 -
python爬虫(十七)-------------------scrapy items.py使用与yield dict区别
还是不知道有什么区别…原创 2019-04-03 11:00:48 · 788 阅读 · 0 评论 -
python爬虫(十五)-------------------使用scrapy其他spider(默认为标准spider)
CrawlSpider专注链接爬取属性rules:Rule对象列表,定义规则XMLFeedSpiderXML订阅蜘蛛,通过某个指定的节点来遍历不同类型spiderCSVFeedSpider类似XML订阅蜘蛛逐行迭代,调用parse_row()解析...原创 2019-04-03 10:18:55 · 228 阅读 · 0 评论 -
python爬虫(十四)-------------------scrapy shell response测试
1 scrapy shell url2 exit()退出3 response.xpath('')修改调试xpathC:\Users\ASUS>scrapy shell https://blog.csdn.net/sinat_32829963/article/details/792731292019-04-03 09:51:54 [scrapy.utils.log]...原创 2019-04-03 09:59:32 · 557 阅读 · 0 评论 -
python爬虫(十三)-------------------HelloWorld级scrapy(scrapy spider组件)
scrapy spider组件 :该组件的三大对象:response对象item 对象Request对象步骤:先初始化请求URL列表,并指定下载后处 理response的回调函数。在parse回调中解析response并返回字典,Item 对象,Request对象或它们的迭代对象。在回调函数里面,使用选择器解析页面内容 ,并生成解析后的结果Item。...原创 2019-04-03 09:15:07 · 204 阅读 · 1 评论 -
python爬虫(十二)-------------------cookie
import requests#用cookie代替表单提交,就不存在验证码的问题,会失效但有效期很长,服务器根据cookie的值计算出你是谁headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safa...原创 2019-04-03 02:35:46 · 321 阅读 · 0 评论 -
python爬虫(十一)-------------------sqlite3
#sqlite在小数据的情况下优化的非常好,一般适合自己写的爬虫import sqlite3'''该 API 打开一个到 SQLite 数据库文件 database 的链接。您可以使用 ":memory:" 来在 RAM 中打开一个到 database 的数据库连接,而不是在磁盘上打开。如果数据库成功打开,则返回一个连接对象如果给定的数据库名称 filename 不存在,则该调用将创建...原创 2019-04-03 01:30:34 · 311 阅读 · 0 评论 -
python爬虫(十)-------------------bs4
bs4其实是用类DOM的方式组织HTML或XML文件的比DOM/SAX较简单,它可以自动处理HTML标签不闭合的情况它是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.历史版本已经停止开发,当前版本为4.2。默认底层用的是lxml解析,也可以换成其他...原创 2019-04-02 22:32:03 · 143 阅读 · 0 评论 -
python爬虫(九)-------------------requests
import jsonimport requestsfrom PIL import Imagefrom io import BytesIO# print(dir(requests))'''url = 'http://www.baidu.com'r = requests.get(url)print(r.text)print(r.status_code)print(r.enc...原创 2019-04-02 21:44:14 · 178 阅读 · 0 评论 -
python爬虫(八)-------------------Selenium主要解决js问题
1.查看自己Google浏览器的版本chromedriver版本与对应的支持的Chrome版本:https://www.cnblogs.com/technologylife/p/5829944.html如果版本不对会报错:selenium.common.exceptions.WebDriverException: Message: unknown error: call funct...原创 2019-04-02 19:34:38 · 130 阅读 · 0 评论