2009-11-03
翻墙翻墙@python&swiftfox - [Python]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://johnsonqu.blogbus.com/logs/50055235.html
FQ是什么意思,我想不需要多解释了,本来不想翻来着,昨天做一个parse功能的时候,发现不能翻就不能获取内容,:(今天在Shun同学的帮助下,终于FQ成功了,哈哈。在Swiftfox里面的配置比较容易,但是,后面发现了一个新的问题,就是原本一直用来获取网页内容的urllib2不支持socks5代理,哼哼。
GOOGLE一下,很容易,pycurl是个不错的替代品,对于socks5的支持也不错,至此,python和swiftfox的FQ工作就完美解决了,哈哈。
利用pycurl对于socks5的支持,主要是参考了这篇文章。我自己写了一个简单的包装功能,如下(参数需要自己调整的哦):
import pycurl
import StringIO
def read_content(url):
c = pycurl.Curl()
b = StringIO.StringIO()
c.setopt(pycurl.WRITEFUNCTION, b.write)
c.setopt(pycurl.URL, str(url))
c.setopt(pycurl.TIMEOUT, 30)
c.setopt(pycurl.CONNECTTIMEOUT, 10)
c.setopt(pycurl.MAXREDIRS, 5)
c.setopt(pycurl.PROXY, '10.0.2.2')
c.setopt(pycurl.PROXYPORT, 7070)
c.setopt(pycurl.PROXYTYPE, 5)
c.perform()
c.close()
return b.getvalue()
随机文章:
收藏到:Del.icio.us








评论
所以博主,能否提供一个FQ的完整方案哦