摘要: 原文首发于我的博客:https://yifei.me/note/2719 越来越多的网站开始使用 TLS 指纹反爬虫,而 Python 中竟然没有任何方法解决这个问题。前一阵 看到由国外大神写了一个 curl-impersonate 命令行工具,可以完美模拟主流浏览器的指纹,遂用 cffi 封装成了 阅读全文
posted @ 2023-01-29 22:52 ospider 阅读(4000) 评论(1) 推荐(1) 编辑
摘要: 相对于 os.path 来说,Pathlib 极大地简化了路径相关的操作。举个例子来说: 获取当前文件路径下的 default.yaml 文件 import os os.path.join(os.path.dirname(__file__), "default.yaml") 只需要: from pa 阅读全文
posted @ 2021-12-23 18:08 ospider 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://yifei.me/note/540 HTTP 中常用的方法有 GET/POST/PUT/DELETE 等,在设计API或者表单的时候我们需要选择合适的方法。一般有两种方案: 1. 只使用 GET 和 POST,GET 主要用来读取数据,POST 用来创建或者更新数据。 2. 阅读全文
posted @ 2018-07-11 09:33 ospider 阅读(2664) 评论(0) 推荐(1) 编辑
摘要: 欢迎关注我的公众号 spider learn (https://github.com/sharkdp/fd) 是 命令的一个更现代的替换。 对比一下 查找名字含有某个字符的文件 OLD NEW 使用正则表达式查找 比如说查找符合 模式的文件。 使用的正则表达式非常古老,比如说在这里我们不能使用 ,也 阅读全文
posted @ 2018-04-09 18:28 ospider 阅读(3281) 评论(0) 推荐(1) 编辑
摘要: 楔子 好友李博士要买房了, 前几天应邀帮他抓链家的数据分析下房价, 爬到一半遇到了验证码. 李博士的想法是每天把链家在售的二手房数据都抓一遍, 然后按照时间序列分析. 链家线上在交易的二手房数据大概有30000余套, 而一天只有86400秒, 也就是最慢3s也要访问一个页面. 测试按照这种频率, 大 阅读全文
posted @ 2017-10-07 19:31 ospider 阅读(13959) 评论(0) 推荐(2) 编辑
摘要: 最近看过不少讲爬虫的教程[1][2],基本都是一个模式: 1. 开始先来拿正则、lxml、jquery/pyquery等等教大家从页面上抠出一个一个的值来 2. 然后深入一些在讲讲http 协议,讲讲怎么拿出 cookie 来模拟登录之类的,讲讲基本的反爬虫和反反爬虫的方法 3. 最后在上一个 简单 阅读全文
posted @ 2017-04-30 23:30 ospider 阅读(7895) 评论(2) 推荐(5) 编辑
摘要: Chapter I 简介 ====== 为什么要写爬虫? 1. 每个网站都应该提供 API,然而这是不可能的 2. 即使提供了 API,往往也会限速,不如自己找接口 注意已知条件(robots.txt 和 sitemap.xml) 1. robots.txt 中可能会有陷阱 2. sitemap 中 阅读全文
posted @ 2017-02-06 22:53 ospider 阅读(1272) 评论(0) 推荐(0) 编辑
摘要: 原文链接: "http://yifei.me/note/464" 最近要做下微信爬虫,之前写个小东西都是直接用正则提取数据就算了,如果需要更稳定的提取数据,还是使用 xpath 定位元素比较可靠。周末没事,从爬虫的角度研究了一下 python xml 相关的库。 Python 标准库中自带了 xml 阅读全文
posted @ 2016-09-27 02:11 ospider 阅读(59030) 评论(2) 推荐(0) 编辑
摘要: 最近经常在服务器上开发,经常会遇到不认识的单词,然而 linux 下实在没有什么好用的词典,索性自己写一个好了。 词典 API 首先,Google 了一下可用的词典的 API,发现金山的 iciba 还是不错的。要使用 iciba 的 API 需要首先申请一个 key,目前 key 是免费的,并且没 阅读全文
posted @ 2016-04-21 07:58 ospider 阅读(1325) 评论(0) 推荐(0) 编辑
摘要: 下午小伙伴问了一个有趣的问题, 怎么用 Python 的 with 语句同时打开多个文件? 首先, Python 本身是支持同时在 with 中打开多个文件的 当然, 小伙伴的问题不可能这么简单, 他需要从打开一个列表中的所有文件, 而不是打开固定的一个文件, 这时候上面的语法显然就没法满足要求了. 阅读全文
posted @ 2016-03-12 01:30 ospider 阅读(10703) 评论(0) 推荐(3) 编辑