爬虫爬网站时,遇到有些网站会有javascript进行cookie认证,有什么好办法能处理吗??

2013 年 8 月 8 日
 lewisc402
6725 次点击
所在节点    Python
15 条回复
lewisc402
2013 年 8 月 8 日
假设我想访问 a.html,结果服务器会重定向到 redirect.html?url=a.html,而redirect.html中是一些javascript代码,用来写cookie,那么我该怎么办才能访问到原网页呢? 求思路???
binux
2013 年 8 月 8 日
@lewisc402 手动提出来
lewisc402
2013 年 8 月 8 日
@binux 没理解?? 能详细说下吗
DearMark
2013 年 8 月 8 日
我也表示非常关注!
binux
2013 年 8 月 8 日
@lewisc402 打开redirect.html,解析js代码,提出js写入的cookie
pubby
2013 年 8 月 8 日
分析出来然后在爬虫中模拟
pandada8
2013 年 8 月 8 日
如果客户端的js用了某种算法的生成数据可以考虑在脚本中模拟一下算法,生成数据
或者直接使用 Headless 的框架 Zombie.js,Ghost.py,或者直接操作 selenium ……
pubby
2013 年 8 月 8 日
@pandada8 同意,如果算法太复杂,可以直接把js代码丢给node.js跑出结果再用
pandada8
2013 年 8 月 8 日
参见 http://obmem.info/?p=848 别人写的……
pythoner
2013 年 8 月 8 日
@pandada8 擦,看到我同事的博客了~~
RelativeLayout
2013 年 8 月 8 日
casperjs 或者 phantomjs
pandada8
2013 年 8 月 8 日
@pythoner - =以前SimpleCD出来的时候关注的……
yuan
2013 年 8 月 8 日
使用现有的cookie:

Chrome 的 cookietxt-export 扩展( https://chrome.google.com/webstore/detail/cookietxt-export/lopabhfecdfhgogdbojmaicoicjekelh )可以将cookie导出为 wget 可识别的格式。安装好该插件后,登录需要抓取的网站,点击插件按钮,就可以导出为 Netscape 的 cookies.txt 格式。

如果使用 Ruby ,可以用

agent = Mechanize.new
agent.cookie_jar.load(cookies_txt_file, :cookiestxt)

Python 应该有类似的工具吧
lewisc402
2013 年 8 月 8 日
@yuan 这个方法看起来不错,先尝试下
soho176
2013 年 8 月 8 日
@pandada8 这个博客 我以前也看 后来找不到地址了哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/78450

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX