Chrome的Cookie导出扩展

这个导出cookie还是蛮好用的。

和python配合,需要到处LWP 类型的Cookie,然后python使用cookielib库。

1
2
3
4
5
6
7
8
9
import cookielib
import requests
r = requests.Session()
r.cookies = cookielib.LWPCookieJar("cookies")
r.cookies.load(ignore_discard=True)
r.headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36"
}

cookies,要符合cookielib的模式。这里,貌似有个字符串规则。

1
2
3
4
5
6
def _really_load(self, f, filename, ignore_discard, ignore_expires):
magic = f.readline()
if not re.search(self.magic_re, magic):
msg = ("%r does not look like a Set-Cookie3 (LWP) format "
"file" % filename)
raise LoadError(msg)

magic_re的规则是:

1
magic_re = r"^\#LWP-Cookies-(\d+\.\d+)"

也就是说,cookie文件的格式,第一行需要是这样的:

1
#LWP-Cookies-2.0

老实说,比较烂。用editthiscookie导出后,要修改头一下。

pycharm 2016的远程调试方法

PyCharm很好用。目前版本是2016版。

不过,我们日常很多时候是在本地开发然后部署到服务器上,这样中间涉及到了:

  • 操作系统更改
  • 工作目录变更
  • 相对路径变更
  • 依赖库变更

就像我,经常需要在windows下开发然后再centos上部署。每次都需要重新跑一次单元测试,还经常发现问题。

用同环境的测试服务器上开发,然后部署的时候,会简单很多。

这就是涉及到了PyCharm远程调试。

继续阅读···

无头浏览器phantomjs

所谓的无头浏览器(headless)就是指不带界面,完全可以命令行or脚本控制的浏览器。

phantomjs 就是比较流行的无头浏览器。

  • 基于webkit
  • 可以解析流行网页内的js脚本。
  • 可以把网页后台渲染成图片
  • 可以通过脚本扩展功能,这点在采集/自动化测试内很有用。

缺点也有,和普通的基于页面分析的采集来比较,这个phantomjs重了很多。

官网:http://phantomjs.org/

使用教程:http://phantomjs.org/documentation/

例子:http://phantomjs.org/examples/

继续阅读···