Python強大的功能使得在寫爬蟲的時候顯得十分的簡單,但是Python2和Python3在這方面有了很多區別。
本人剛入門爬蟲,所以先寫一點小的不同。
以爬取韓寒的一篇博客為例子:
在Python2.7中,我們往往這樣寫:
import urllib2 request=urllib2.Request("http://blog.sina.com.cn/s/blog_4701280b0102egl0.html") response=urllib2.urlopen(requset) print response.read()
但是在Python3中,這樣做卻行不通了,首先Python3將urllib和urllib2合並成了urllib
而獲取網絡數據需要urllib.request模塊。
其次,由於unicode會導致爬回來的中文亂碼,因此需要用str()函數進行對亂碼的修改。
因此在Python3中需要這樣寫:
import urllib.request url='http://blog.sina.com.cn/s/blog_4701280b0102egl0.html' response=urllib.request.urlopen(url) content=response.read() print (str(content),'utf-8')
