
爬虫需要处理的一些问题:
说到底就是因为Python在处理上面的事情的时候有很多库,而且语法简洁,代码风骚,开发者的注意点可以集中在自己要做的事情上。
----------------------------------------
简单的不能再简单的粗略不严谨地回顾一下:
发送HTTP请求:
Python里我最喜欢用requests发送请求,发送请求的代码是这样的:
到目前为止我还没有找到别的语言有比这个更加简单的发送HTTP请求的方式了(不排除我见识短的可能性)。
解析HTML源码:
Python默认可以使用HtmlParser来解析HTML,如果你觉得用着不爽(确实用着不爽),可以有很多第三方库来优雅的做这些事情(lxml / BeautifulSoup / ...),甚至可以通过一些库(selenium等)来直接使用浏览器。你可以直接使用类似 body.div.a['href'] 这样简单到爆的语法取自己需要的内容。
处理反爬虫机制:
还是Python的requests库,它可以很方便的套上一个代理IP:
效率:
爬虫的效率问题基本不在解析信息的速度上,网络IO的时间其实才是大头。比如你请求网页花了500ms,相应的你的解析速度是1ms还是10ms已经不重要了。
其他还有很多地方就不一一总结了,简而言之,写爬虫来讲,Python相对于其它语言的优势在于有足够简介的语法和足够多的库支持,开发效率很高,而且运行效率方面,网络IO的时间已经大大冲淡了Python的效率问题。
用Python可以1个人做5个人的事情,只是多用10倍的机器,多么划算。
如上~~~
