最近有些工作要用到Python来抓取网页的内容。就在博客上记篇笔记吧。因为是笔记,所以就比较零散...
主要用到的Python库是requests,ggithub上有些很些Nice的人,在我遇到问题的时候热心帮助我,比如说被python和json坑了的帖子...Requests这个库最大的好处就是,封装的很人性化,就像它号称的for humans。很多的项目都用这个库,它在github上已经有9000多个star了。
另外,主要的教程是这位同学的博客,是山东大学软件工程的一位同学。不过他的教程中用的是urllib2之类的库,比requests底一个层次,写起来也要麻烦一点。但看看他对抓取过程的分析,还是非常有帮助的。教程就应该像他这样写,写的具体一些,看起来更明白。其中给出的代码,我试过的都能运行。
抓取过程
Python抓取网页的过程,和我们用浏览器打开网页的过程是一样的,都是通过HTTP协议来通信。也就是说,发一个请求过去,收到一些数据回来。我们要抓取的东西,也就是网页的源代码,在Chrome之类的浏览器中,直接右键就有查看源代码的选项。
但有些时候,会遇到Ajax的情况。也就是说,我们直接抓取到的,是含有ajax的js代码,浏览器的真实数据,是不时的通过这些js代码,来发送新的请求 …
read more