urllib實戰4--新聞爬蟲(020)

一:需求與思路

      需求:將新浪新聞的首頁的所有新聞爬取到本地   http://news.sina.com.cn/

      思路:首先爬首頁,通過正則表達式獲取所有的新聞鏈接,然後依次爬取新聞,並存儲到本地。

二:實戰

     


運行程序


查看爬取結果:


三:綜上代碼:

from urllib import request
import re
data=request.urlopen("http://news.sina.com.cn/").read()
data2=data.decode("utf-8","ignore")
pat='href="(http://news.sina.com.cn/.*?)"'
allurl=re.compile(pat).findall(data2)
for i in range(0,len(allurl)):

    try:

         print("這是第"+str(i)+"次爬取")

         thisurl=allurl[i]
         file="G:/BaiduDownload/python網絡爬蟲/sinanews/"+str(i)+".html"

         request.urlretrieve(thisurl,file)

         print("成功")

    except urllib.error.URLError as e:
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章