爬取CSDN博客全部文章内容

2年前 (2020-01-11) 407次浏览 已收录 8个评论

第一步: 想爬哪个网站, 首先要做的就是先分析一下网站的规律, 找到规律才能写程序让机器跑.
打开博客网址:https://blog.csdn.net/

第二步: 随便找一个文章的名字,比如这个, 然后记住它: “刷了几千道算法题,这些我私藏的刷题网站都在这里了!“
OK! 然后右击鼠标点击源代

第三步: ctrl+F搜索:”刷了几千道算法题,这些我私藏的刷题网站都在这里了!”
哟呵! 你会发现这些东西

第四步: 仔细分析源代码, 你会发现, 他们文章的网址都在这样的标签里:

<a href=”https://*********&#8221;
那就好办了, 我们可以这样写代码.

import urllib.request
import re
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
# ssl证书
url="https://blog.csdn.net/"
data=urllib.request.urlopen(url).read().decode("utf-8","ignore")
pat1='<a href="(https://.*?)"'
#正则提取网址
all=re.compile(pat1).findall(data)
for i in range(0,len(all)):
    w = open("/Users/new/Desktop/汇总/爬虫/博客爬取/" + str(i) + ".html",mode="w")
    #创建并保存文件
    url2=urllib.request.urlopen(all[i]).read().decode("utf-8","ignore")
    w.write(url2)#写入
    w.close()#别忘了关闭
    print("已爬取第%d"%i+"个文章")
 
 
 
运行结果:

抓取的文件:

抓取文件内容

声明: 没有使用伪装和代理, 你们试的时候可能会出错,
错误有几下原因:
1, 别人已经屏蔽你了,解决: 使用IP代理, 浏览器伪装,增加爬取时间间隔
2, 网站已经稍作改动, 只要不是反爬,你按着我的来,也能成功
注意: 不要恶意利用, 尊重原创, 本篇只为学习练手, 作者概不负责任何和爬虫相关法律责任


渣渣龙, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:爬取CSDN博客全部文章内容
喜欢 (0)

您必须 登录 才能发表评论!

(8)个小伙伴在吐槽
  1. 最好再详细点
    hello2020-03-27 12:58
  2. 不错
    我也是渣渣2020-03-27 13:22
  3. 奥利给
    你好2020-03-27 13:49
  4. 我也是小白以后多多交流
    你哥2020-03-28 16:38
  5. good厉害了
    笔记本2020-03-28 17:04
  6. 渣渣辉2020-03-28 17:55
  7. 看了那么多博客,就你的能看懂
    靓妹2020-05-26 09:17
  8. 看了那么多博客,就你的能看懂
    你哥2020-05-26 10:09