wenku8.net login 接口提取与再封装

http://bbs.qyai.net/article/65 的第一个后续文章。代码已提交至Github

前文:http://bbs.qyai.net/article/65

直接访问https://www.wenku8.net/index.php,会发现页面被重定向到了https://www.wenku8.net/login.php(如下图),所以,这个网站很多内容你不登录是访问不到的。attachments-2021-06-kkKVJS1z60d6cfbf9b989.jpg那么,login接口就显得极为重要。

先尝试直接用rquests的get方法获取一下这个页面。

果不其然,返回了403 Forbidden状态码:attachments-2021-06-XJ7G9V4o60d6d0da9afad.jpg这时,当然是雷打不动的UA伪装headers环节:attachments-2021-06-ITOZcNQB60d6d17356e5b.jpg可见,伪装后获取成功了,让我们来打印一下reponse.text:attachments-2021-06-ocOnD2kF60d6d20205e3e.jpg咦,在最后应该是中文的部分出现了乱码,让我们来改一个编码:attachments-2021-06-A6hAJDbq60d6d25e5ac44.jpg可见乱码问题消失了,你问我为什么不用utf-8,GBK,GB2312?当然是因为这网站比较邪门,汉字是国标编码,但它汉字里有时会夹个日文假名,这时国标码就无能为力,反而会报错了。

你问我啥是ansi?百度百科甩给你:https://baike.baidu.com/item/ANSI/10401940?fromtitle=ansi%E7%BC%96%E7%A0%81&fromid=9421969&fr=aladdin

爬取到页面后,扔进pycharm里重新格式化一下代码,方便找到表单的html。

这里有个小插曲:pycharm提示我有一个<div>标签未闭合,我仔细确认了一下,果然是这样,于是就向网站的管理员反馈了一下,今天已经被修复了attachments-2021-06-LdgTp4wo60d6d4c5b79bf.jpg查看一下表单部分的HTML代码,好家伙,还有一个隐藏字段:attachments-2021-06-qXTFtvTH60d6d5140ebc0.jpg接下来,就是按照表单构建requests的post data(顺带一提,为了减少频繁操作cookie,我用了requests的session功能):attachments-2021-06-wwExyj6U60d6d5a0a3979.jpg这个usecookie在表单里表现成一个选择框,据我分析应该是这个意思:attachments-2021-06-TFtNWNFh60d6d602c9761.jpg使用我的登录信息进行测试后,确认可以获取到只有登录后才能获取到的界面:attachments-2021-06-A9493ybc60d6d6870597f.jpg至此,login接口提取成功。

  • 发表于 2021-06-26 15:27
  • 阅读 ( 184 )
  • 分类:默认分类

0 条评论

请先 登录 后评论
yixinBC
yixinBC

学生

3 篇文章

作家榜 »

  1. 阿九 20 文章
  2. q5320 14 文章
  3. 不期而遇 8 文章
  4. admin 6 文章
  5. 此心安處是吾鄉 4 文章
  6. 小白 4 文章
  7. Mr.Pang 3 文章
  8. yixinBC 3 文章