博客园 - my8100
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=51254
2019-10-16T11:56:41Z
my8100
https://www.cnblogs.com/my8100/
feed.cnblogs.com
https://www.cnblogs.com/my8100/p/scrapyd-basic-auth.html
时隔五年,Scrapyd 终于原生支持 basic auth - my8100
`pip install -U git+https://github.com/my8100/scrapyd.git@add_basic_auth`
2019-05-09T08:14:00Z
2019-05-09T08:14:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】`pip install -U git+https://github.com/my8100/scrapyd.git@add_basic_auth` <a href="https://www.cnblogs.com/my8100/p/scrapyd-basic-auth.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapyd-cluster-on-heroku.html
如何免费创建云端爬虫集群 - my8100
<img src="https://raw.githubusercontent.com/my8100/files/master/scrapyd-cluster-on-heroku/screenshots/network_topology.png" class="desc_img">
2019-04-05T07:10:00Z
2019-04-05T07:10:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】<img src="https://raw.githubusercontent.com/my8100/files/master/scrapyd-cluster-on-heroku/screenshots/network_topology.png" class="desc_img"> <a href="https://www.cnblogs.com/my8100/p/scrapyd-cluster-on-heroku.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapydweb.html
如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目 - my8100
<img src="https://raw.githubusercontent.com/my8100/scrapydweb/master/screenshots/servers.png" class="desc_img">
2019-03-16T14:08:00Z
2019-03-16T14:08:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】<img src="https://raw.githubusercontent.com/my8100/scrapydweb/master/screenshots/servers.png" class="desc_img"> <a href="https://www.cnblogs.com/my8100/p/scrapydweb.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/logparser.html
LogParser v0.8.0 发布:一个用于定期增量式解析 Scrapy 爬虫日志的 Python 库,配合 ScrapydWeb 使用可实现爬虫进度可视化 - my8100
<img src="https://raw.githubusercontent.com/my8100/files/master/scrapydweb/screenshots/stats.gif" class="desc_img">
2019-01-24T03:53:00Z
2019-01-24T03:53:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】<img src="https://raw.githubusercontent.com/my8100/files/master/scrapydweb/screenshots/stats.gif" class="desc_img"> <a href="https://www.cnblogs.com/my8100/p/logparser.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/django_detailview.html
Django DetailView 多重继承 关系整理 - my8100
0.参考 https://docs.djangoproject.com/en/2.1/topics/class-based-views/mixins/ 1.版本信息 1.多重继承关系和 MRO E:\ProgramData\Anaconda3\envs\py3\Lib\site-packages\d
2018-08-07T15:05:00Z
2018-08-07T15:05:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.参考 https://docs.djangoproject.com/en/2.1/topics/class-based-views/mixins/ 1.版本信息 1.多重继承关系和 MRO E:\ProgramData\Anaconda3\envs\py3\Lib\site-packages\d <a href="https://www.cnblogs.com/my8100/p/django_detailview.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapy_redis_update_score.html
scrapy_redis 相关: 多线程更新 score/request.priority - my8100
0.背景 使用 scrapy_redis 爬虫, 忘记或错误设置 request.priority(Rule 也可以通过参数 process_request 设置 request.priority),导致提取 item 的 request 排在有序集 xxx:requests 的队尾,持续占用内存。
2018-07-26T10:52:00Z
2018-07-26T10:52:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.背景 使用 scrapy_redis 爬虫, 忘记或错误设置 request.priority(Rule 也可以通过参数 process_request 设置 request.priority),导致提取 item 的 request 排在有序集 xxx:requests 的队尾,持续占用内存。 <a href="https://www.cnblogs.com/my8100/p/scrapy_redis_update_score.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapy_middleware_autoproxy.html
Scrapy 扩展中间件: 针对特定响应状态码,使用代理重新请求 - my8100
0.参考 https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#module-scrapy.downloadermiddlewares.redirect https://doc.scrapy.org/en/latest/
2018-07-18T10:47:00Z
2018-07-18T10:47:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.参考 https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#module-scrapy.downloadermiddlewares.redirect https://doc.scrapy.org/en/latest/ <a href="https://www.cnblogs.com/my8100/p/scrapy_middleware_autoproxy.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapy_middleware_mysql.html
Scrapy 扩展中间件: 同步/异步提交批量 item 到 MySQL - my8100
0.参考 https://doc.scrapy.org/en/latest/topics/item-pipeline.html?highlight=mongo#write-items-to-mongodb 20180721新增:异步版本 https://twistedmatrix.com/docum
2018-07-18T04:55:00Z
2018-07-18T04:55:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.参考 https://doc.scrapy.org/en/latest/topics/item-pipeline.html?highlight=mongo#write-items-to-mongodb 20180721新增:异步版本 https://twistedmatrix.com/docum <a href="https://www.cnblogs.com/my8100/p/scrapy_middleware_mysql.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapy_hidden_bug_of_requests_queue.html
Scrapy 隐含 bug: 强制关闭爬虫后从 requests.queue 读取的已保存 request 数量可能有误 - my8100
问题描述和解决方案已提交至 Scrapy issues: The size of requests.queue may be wrong when resuming crawl from unclean shutdown. #3333
2018-07-16T01:39:00Z
2018-07-16T01:39:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】问题描述和解决方案已提交至 Scrapy issues: The size of requests.queue may be wrong when resuming crawl from unclean shutdown. #3333 <a href="https://www.cnblogs.com/my8100/p/scrapy_hidden_bug_of_requests_queue.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapyd_2_add_stop_start.html
Scrapyd 改进第二步: Web Interface 添加 STOP 和 START 超链接, 一键调用 Scrapyd API - my8100
0.提出问题 Scrapyd 提供的开始和结束项目的API如下,参考 Scrapyd 改进第一步: Web Interface 添加 charset=UTF-8, 避免查看 log 出现中文乱码,准备继续在页面上进一步添加 START 和 STOP 超链接。 http://scrapyd.readt
2018-07-15T10:47:00Z
2018-07-15T10:47:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.提出问题 Scrapyd 提供的开始和结束项目的API如下,参考 Scrapyd 改进第一步: Web Interface 添加 charset=UTF-8, 避免查看 log 出现中文乱码,准备继续在页面上进一步添加 START 和 STOP 超链接。 http://scrapyd.readt <a href="https://www.cnblogs.com/my8100/p/scrapyd_2_add_stop_start.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapyd_1_add_charset_UTF-8.html
Scrapyd 改进第一步: Web Interface 添加 charset=UTF-8, 避免查看 log 出现中文乱码 - my8100
0.问题现象和原因 如下图所示,由于 Scrapyd 的 Web Interface 的 log 链接直接指向 log 文件,Response Headers 的 Content-Type 又没有声明字符集 charset=UTF-8,因此通过浏览器查看 log 会出现非 ASCII 乱码。 1.解
2018-07-15T08:18:00Z
2018-07-15T08:18:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.问题现象和原因 如下图所示,由于 Scrapyd 的 Web Interface 的 log 链接直接指向 log 文件,Response Headers 的 Content-Type 又没有声明字符集 charset=UTF-8,因此通过浏览器查看 log 会出现非 ASCII 乱码。 1.解 <a href="https://www.cnblogs.com/my8100/p/scrapyd_1_add_charset_UTF-8.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapy_jobdir_to_redis.html
scrapy_redis 相关: 将 jobdir 保存的爬虫进度转移到 Redis - my8100
0.参考 Scrapy 隐含 bug: 强制关闭爬虫后从 requests.queue 读取的已保存 request 数量可能有误 1.说明 Scrapy 设置 jobdir,停止爬虫后,保存文件目录结构: requests.queue/p0 文件保存 priority=0 的未调度 request
2018-07-11T11:07:00Z
2018-07-11T11:07:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.参考 Scrapy 隐含 bug: 强制关闭爬虫后从 requests.queue 读取的已保存 request 数量可能有误 1.说明 Scrapy 设置 jobdir,停止爬虫后,保存文件目录结构: requests.queue/p0 文件保存 priority=0 的未调度 request <a href="https://www.cnblogs.com/my8100/p/scrapy_jobdir_to_redis.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/9126202.html
js分析 邮_箱_地_址_加_密 [email protected] 完整代码 - my8100
该文被密码保护。
2018-06-02T10:23:00Z
2018-06-02T10:23:00Z
my8100
https://www.cnblogs.com/my8100/
该文被密码保护。
https://www.cnblogs.com/my8100/p/parse_html_with_lxml.html
lxml.etree.HTML(text) 解析HTML文档 - my8100
0.参考 http://lxml.de/tutorial.html#the-xml-function There is also a corresponding function HTML() for HTML literals. >>> root = etree.HTML("<p>data</p>
2018-06-01T08:38:00Z
2018-06-01T08:38:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.参考 http://lxml.de/tutorial.html#the-xml-function There is also a corresponding function HTML() for HTML literals. >>> root = etree.HTML("<p>data</p> <a href="https://www.cnblogs.com/my8100/p/parse_html_with_lxml.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/8984719.html
CSS/Xpath 选择器 第几个子节点/父节点/兄弟节点 - my8100
0.参考 1.初始化 2.Xpath 父节点/上一个下一个兄弟节点 3.CSS 第几个子节点 3.1 通用 3.2 特别指代 3.3 上述 -child 修改为 -of-type ,仅对 过滤后的相应子节点列表 进行计数 4.Xpath 第几个子节点
2018-05-03T04:13:00Z
2018-05-03T04:13:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.参考 1.初始化 2.Xpath 父节点/上一个下一个兄弟节点 3.CSS 第几个子节点 3.1 通用 3.2 特别指代 3.3 上述 -child 修改为 -of-type ,仅对 过滤后的相应子节点列表 进行计数 4.Xpath 第几个子节点 <a href="https://www.cnblogs.com/my8100/p/8984719.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapy_redis.html
scrapy_redis 相关: 查看保存的数据 - my8100
0.参考资料 https://redis.io/topics/data-types-intro An introduction to Redis data types and abstractions http://redisdoc.com/ Redis 命令参考 1.scrapy_redis 2.
2018-02-21T04:39:00Z
2018-02-21T04:39:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0.参考资料 https://redis.io/topics/data-types-intro An introduction to Redis data types and abstractions http://redisdoc.com/ Redis 命令参考 1.scrapy_redis 2. <a href="https://www.cnblogs.com/my8100/p/scrapy_redis.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/scrapy_login.html
scrapy 通过FormRequest模拟登录再继续 - my8100
1.参考 https://doc.scrapy.org/en/latest/topics/spiders.html#scrapy.spiders.Spider.start_requests 自动提交 login.php 返回表单 https://doc.scrapy.org/en/latest/to
2017-12-27T08:14:00Z
2017-12-27T08:14:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】1.参考 https://doc.scrapy.org/en/latest/topics/spiders.html#scrapy.spiders.Spider.start_requests 自动提交 login.php 返回表单 https://doc.scrapy.org/en/latest/to <a href="https://www.cnblogs.com/my8100/p/scrapy_login.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/8118879.html
python2 python3 转换,兼容 - my8100
0. 1.参考 https://docs.python.org/3/library/urllib.html urllib is a package that collects several modules for working with URLs: urllib.request for open
2017-12-26T08:57:00Z
2017-12-26T08:57:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0. 1.参考 https://docs.python.org/3/library/urllib.html urllib is a package that collects several modules for working with URLs: urllib.request for open <a href="https://www.cnblogs.com/my8100/p/8118879.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/8057804.html
nginx 限制并发访问及请求频率 - my8100
0. 1.参考 【工作】Nginx限制IP并发连接数和请求数的研究 Module ngx_http_limit_conn_module Module ngx_http_limit_req_module 漏桶算法和 NGINX 的 limit_req 模块 漏桶这个名字,其实就非常形象的描述了算法本身
2017-12-18T07:22:00Z
2017-12-18T07:22:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0. 1.参考 【工作】Nginx限制IP并发连接数和请求数的研究 Module ngx_http_limit_conn_module Module ngx_http_limit_req_module 漏桶算法和 NGINX 的 limit_req 模块 漏桶这个名字,其实就非常形象的描述了算法本身 <a href="https://www.cnblogs.com/my8100/p/8057804.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/my8100/p/8044068.html
MySQl 查询性能优化相关 - my8100
0. 1.参考 提升网站访问速度的 SQL 查询优化技巧 缓存一切数据,读取内存而不是硬盘IO 如果你的服务器默认情况下没有使用MySQL查询缓存,那么你应该开启缓存。开启缓存意味着MySQL 会把所有的语句和语句执行的结果保存下来,如果随后有一条与缓存中完全相同的语句需要执行,那么MySQL 就会
2017-12-15T09:19:00Z
2017-12-15T09:19:00Z
my8100
https://www.cnblogs.com/my8100/
【摘要】0. 1.参考 提升网站访问速度的 SQL 查询优化技巧 缓存一切数据,读取内存而不是硬盘IO 如果你的服务器默认情况下没有使用MySQL查询缓存,那么你应该开启缓存。开启缓存意味着MySQL 会把所有的语句和语句执行的结果保存下来,如果随后有一条与缓存中完全相同的语句需要执行,那么MySQL 就会 <a href="https://www.cnblogs.com/my8100/p/8044068.html" target="_blank">阅读全文</a>