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)

猜你喜欢

转载自blog.csdn.net/weixin_41167340/article/details/79779154
4--