再也不用担心网页编码的坑了!

背景 大家爬取网页的时候,应该都遇到过这种情况 当我打印网页源代码的时候 发现 全部是乱码的 那这个时候应该怎么办呢? requests是如何判断编码 首先,response.content返回的内容 是二进制内容 response.text 则是根据设置的encoding来解码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # Try charset from content-type content = None encoding = self.encoding if not self.content: return st

继续阅读全文 »

爬虫小工具-copyheader

大家写爬虫的,肯定知道如何伪造请求头了,那么你们是如何做的呢? 首先,来看看我之前是如何做的,有多烦我就不说了… 如果有小伙伴是和我一样,那么请帮忙把这篇文章分享出去~ 那我现在怎么是怎么做的呢? 可以发现复制请求头很简单了,只要把请求头全部copy下来,然后用headers_raw_to_dict 转一下,就直接变成了dict了. 如何安装呢 pip install copyheaders 如何使用呢 先找到你要复制的请求头,并且复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # 引入python包 from

继续阅读全文 »

模拟登陆知乎

原因 为啥要写这一篇文章呢? (主要是qq群内有人在模拟登陆知乎,一直不成功)然后我抓包看了下,发现知乎登陆页已经改版了,而且难度大大提高了。 开始抓包 首先内,还是打开知乎首页,然后输入账号密码,登陆(记得输错密码) 这样我们就可以看到请求头了(请求头如下) 我们发现有这几个请求头和正常的不一样(红色框中的) 1. authorization (感觉应该是js生成的,后面再看 2. Content-Type (后面多了boundary=xxx 这种,那这种是啥意思呢,后面和请求参数一起看 3. cookie:这个要注意,登陆前cookie就不为空,说明之前肯定有set-cook

继续阅读全文 »

请正确使用http状态码,谢谢!

背景 最近,由于某些特别原因。打开一些网址一直显示404, 想请问下,xx站的程序员,能不能按照http协议来返回呢? 什么是http状态码451 根据定义,HTTP 451错误代码状态出现,不代表这个地址是否存在,而代表该网页可能对于国家安全产生危险,或是该网页可能违反著作权、隐私权、亵渎神明或其他法律或法院命令。 该响应代码有如下的性质: 除非另外指明,否则这个响应代码是可以被缓存的。 必须携带一个带有一个Link头部,列出要求封禁该地址的实体URI;且应带有一个”rel”字段,值应为”blocked-by”[1]。 简单的讲 就是由于某些政治原因,所以,该页面不予访问 HTTP451

继续阅读全文 »

知乎想法抽奖专用

背景 很久没有更新专栏了,写一个好玩的把(刚好最近很多人有需求) 废话不多说,直接看代码把(接口是通过抓取手机app的包获取的,不会的话请看抓取手机app的数据(摩拜单车)) 怎么用 1. 打开想法详情页 2. 点击复制链接 3. python zhihu.py --url 刚刚复制的网址 代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

继续阅读全文 »