Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[已经失效]关于获得文章永久URL的思路 #55

Closed
ax4 opened this issue Feb 8, 2017 · 10 comments
Closed

[已经失效]关于获得文章永久URL的思路 #55

ax4 opened this issue Feb 8, 2017 · 10 comments

Comments

@ax4
Copy link

ax4 commented Feb 8, 2017

测试了一下,使用手机客户端(我是IOS)&& PC客户端(我是win),在应用内打开已经失效的临时URL,可以正常打开文章。并且,点击复制文章的链接,可以得到一个永久URL。

这个URL会形如这个样子: http://mp.weixin.qq.com/s/ezLlm-FOVSfGOZghdFJxZw

估计是微信的服务器 && 应用内浏览器之间,封装一种机制。这个机制会在后端处理“非微信应用内请求“的时候,清空msg_link(issue #17

@ax4
Copy link
Author

ax4 commented Feb 8, 2017

[思路1]
😭😭😭也许我们可以仿照若快的思路,利用微信Bot来分发这些临时URL,由人工 / 按键精灵,在客户端内浏览器开 && 复制永久URL,然后回复给微信Bot, 微信Bot再上传服务器。

谷歌:微信 bot
今天在研究这个微信Bot Wechaty
[思路2]
如果我们能搞清楚,验证机制是什么,也许可以为浏览器植入插件/代码,伪装成“微信应用内请求”,来实现对于临时URL的访问,同时可以在浏览器内获取msg_link。

@ax4
Copy link
Author

ax4 commented Feb 18, 2017

https://www.zhihu.com/question/43610705

方法一:
搜狗搜索出来的地址后面加上"&pass_ticket=qMx7ntinAtmqhVn+C23mCuwc9ZRyUp20kIusGgbFLi0=&uin=MTc1MDA1NjU1&ascene=1",再访问,原地址就出来了

@woocoder
Copy link

貌似并没有变化,是不是已经失效了? @ax4

@ax4
Copy link
Author

ax4 commented Jun 27, 2017

@woocoder 有可能已经失效了

@lzjun567
Copy link

不知大家有没有找到应对策略

@tuopin1
Copy link

tuopin1 commented Jan 17, 2018

@ax4 这个方法确实已经失效了,得想一些别的策略啦

@ax4 ax4 changed the title 关于获得文章永久URL的思路 [已经失效]关于获得文章永久URL的思路 Jan 17, 2018
@iamlaobie
Copy link

我的办法是关注特定领域的订阅号,通过微信网页版,用chrome的扩展定时刷所有公众号的推送文章

@Edaaaaa
Copy link

Edaaaaa commented Aug 24, 2018

其实想实现批量化肯定得用cookies转换 其余的fiddler/charles根本没法批量化

@chyroc chyroc closed this as completed Apr 9, 2019
@heranly
Copy link

heranly commented May 15, 2020

pass_ticket=qMx7ntinAtmqhVn+C23mCuwc9ZRyUp20kIusGgbFLi0=&uin=MTc1MDA1NjU1&ascene=1

不行,毫无变化

@ax4
Copy link
Author

ax4 commented May 16, 2020

pass_ticket=qMx7ntinAtmqhVn+C23mCuwc9ZRyUp20kIusGgbFLi0=&uin=MTc1MDA1NjU1&ascene=1

不行,毫无变化

@heranly 不好意思哈, 我原来这个参数是2017年左右的时候思路。因为微信和搜狗方面改参数改过很长时间了,所以已经失效很久了不好意思哈。

感谢各位提供的关于已经失效的回复。

貌似并没有变化,是不是已经失效了? @ax4

@woocoder 有可能已经失效了

@ax4 这个方法确实已经失效了,得想一些别的策略啦

同时我已经很久没有在微信文章的爬取这块技术开发上活跃了, 不过基于cookie / 微信内置浏览器 的抓包应该还是可行的。我会推荐上面两位给出的思路:

我的办法是关注特定领域的订阅号,通过微信网页版,用chrome的扩展定时刷所有公众号的推送文章

其实想实现批量化肯定得用cookies转换 其余的fiddler/charles根本没法批量化

同时这些文章的临时链接,通过微信内核的浏览器是可以打开的(i.e. 微信手机版 / 微信PC版),这些临时链接放入到这些微信客户端内打开之后,微信的内置浏览器会完成解析链接和跳转的工作,所以如果要重新解析临时链接URL的话,甚至在链接已经过期了的情况下再次打开的话,可以考虑往客户端里面放的办法。

另外值得提醒的是,临时链接 -> 永久链接 -> 爬完之后还能访问网页内容的思路,在开发上也可以用一个效果相同但是另一种思路是:临时链接 -> 获取HTML/PDF输出较长时间保存 -> 可以再次阅读,文字和样式的保存没有问题,唯一难保存的是文章当中的图片,因为原创文章和原创公众号会保护这些图片。

所以需要看你开发目的和期待得到的结果是什么,然后适当地“曲线救国”吧。祝顺利!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants