blubiu

My Love

上网不网恋,简直浪费电.


Python爬虫--爬取CSDN博客


前言:

爬取 csdn 博客


目录:


爬取csdn博客:

直接来吧,简单粗暴,

假设我们要爬取 python 专栏的文章,

我们首先要查看他链接的规律,先抓取他的链接,

查看源代码搜索第一条内容,看看他在哪里。

images

images


我们知道他的链接在这个位置 {"mod":"popu_459","dest":"

我们查找一下其他的标题,发现链接依旧在这个位置

那么我们就可以根据这个规律来抓取链接了

跟之前的方法一样,

首先使用 urllib.request.urlopen() 函数来打开链接,

然后再通过正则表达式去抓取链接

代码:

import urllib.request
import re

url = "https://blog.csdn.net/nav/python"

data = urllib.request.urlopen().read().decode("utf-8","ignore")  #  ignore 的意思是如果编码出错也强行编码

path = '{"mod":"popu_459","dest":"(.*?)",'

All_link = re.compile(path).findall(data)

for i in range(0,len(All_link)):
	this_link = All_link[i]
	print(this_link)

运行后就是这个样子

images


我们也可以将这些文章保存到本地,

使用 urllib.request.urlretrieve() 方法

代码:

import urllib.request
import re

url = "https://blog.csdn.net/nav/python"

data = urllib.request.urlopen(url).read().decode("utf-8","ignore")

path = '{"mod":"popu_459","dest":"(.*?)",'

All_link = re.compile(path).findall(data)

for i in range(0,len(All_link)):
	this_link = All_link[i]
	urllib.request.urlretrieve("D:/link/"+str(i)+".html")

运行后就成功将文章抓取到本地 D 盘 下的 link 文件夹下面

记得先创建 link 文件夹 ,不然会报错

images


总结:

先这样吧!!!