Python中国社区  »  分享创造

python3.5爬取csdn博客页面并保存到本地

老夫子 • 1 年前 • 529 次点击  

本人爬虫刚刚学了一个小时,大神勿喷,谢谢,直接上代码:

'''
浏览器伪装技术 循环爬取各文章
思路:先爬取首页,然后通过正则筛选出所有文章url,然后通过循环分别爬取这些rul到本地
'''

import urllib.request,re

url = "http://blog.csdn.net/"
headers=("User-Agent","Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N)"
        " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Mobile Safari/537.36")
opener = urllib.request.build_opener()
opener.addheaders = [headers]
data = opener.open(url).read()
data = data.decode("utf-8","ignore")
pat = 'href="(http://blog.csdn.net/.*?)"'
allurl = re.compile(pat).findall(data)
for i in range(0,len(allurl)):
    try:
        print("第"+str(i)+"次爬取")
        thisurl = allurl[i]
        file = "/home/huc/python3/urllib实战/csdn爬取博客/num" + str(i) + ".html"
        urllib.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)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4714
 
529 次点击  
分享到微博