打造一个壁纸爬虫来爬你的老婆
好久没写东西了,随便水一篇文,也是比较简单的东西
好久没写东西了,随便水一篇文,也是比较简单的东西
花了十来分钟写了个这个小爬虫,目的就是想能够方便一点寻找职位,并且大四了,没有工作和实习很慌啊!
用法:
1 | python the.py file_name [article_title] [author_id] |
有时候感觉项目push上去每次都敲那么几个命令挺烦人的,可以用这个脚本来代替手工
源自一个朋友的要求,他的要求是只爆破一个ip,结果出来后就停止,如果是爆破多个,完全没必要停止,等他跑完就好
1 | def parseBaidu(keyword, pagenum): |
还是个比较简单的,不像百度有加密算法
1 | http://www.so.com/link?url=http%3A%2F%2Fedu.sd.chinamobile.com%2Findex%2Fnews.do%3Faction%3DnoticeDetail%26id%3D22452&q=inurl%3Anews.do&ts=1488978912&t=89c5361a44fe3f52931d25c6de262bb&src=haosou |
网址是上面这个样子,没加密直接取就好了,去掉头http://www.so.com/link?url=
和尾&q=
一直到末尾的部分,剩下的就可以吃了
有个朋友叫我帮忙写个爬虫,爬取javbus5上面所有的详情页链接,也就是所有的https://www.javbus5.com/SRS-055这种链接,
我一看,嘿呀,这是司机的活儿啊,我绝对不能辱没我老司机的名声(被败坏了可不好),于是开始着手写了
You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
问题在用Python的sqlite3操作数据库要插入的字符串中含有非ascii字符时产生,做插入的时候就报当前这个错误。
1 | connection = sqlite3.connect(...) |
但是如果字符中出现非ascii字符,那么依然不能解决问题,会产生不可预知的乱码,这样可以参考 2
1 | cursor.execute(''' |
但是如果数据太长,这样一个一个敲挺麻烦的,下面是一个使用map函数简化的小例子
本篇文档涵盖了Requests的一些更加高级的特性。
会话对象让你能够跨请求保持某些参数。它也会在同一个Session实例发出的所有请求之间保持cookies。
会话对象具有主要的Requests API的所有方法。
我们来跨请求保持一些cookies:
1 | s = requests.Session() |
最近老被编码困扰,多次折腾之后,感觉python的编解码做得挺好的,只要了解下边的流程,一般都能解决
input文件(gbk, utf-8…) —-decode—–> unicode ——-encode——> output文件(gbk, utf-8…)
很多文本挖掘的package是在unicode上边做事的,比如nltk. 所以开始读入文件后要decode为unicode格式,可以通过下边两步:
1 | f=open('XXXXX', 'r') |
更好的方法是使用codecs.open读入时直接解码:
1 | f=codecs.open(XXX, encoding='utf-8') |
使用 pip 安装Requests非常简单
1 | pip install requests |
或者使用 easy_install 安装
1 | easy_install requests |
Requests 一直在Github上被积极的开发着
你可以克隆公共版本库:
1 | git clone git://github.com/kennethreitz/requests.git |