千家信息网

大数据中如何爬取一个网站的信息

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,大数据中如何爬取一个网站的信息,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。假如我们要爬这个网站:http://stuu.scnu.
千家信息网最后更新 2026年11月02日大数据中如何爬取一个网站的信息

大数据中如何爬取一个网站的信息,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

假如我们要爬这个网站:http://stuu.scnu.edu.cn/articles 的摘要和图片。

首先引入库:

from bs4 import BeautifulSoup
import requests

这两个库是爬虫工具,文章底部有安装方法。

然后定义url为我们需要爬虫的网址,并且用requests.get()得到这个网址的内容存放在wb_data中。

url = "http://stuu.scnu.edu.cn/articles"
wb_data = requests.get(url)

对这些内容进行解析,这里要用到lxml,也是一种库。


soup = BeautifulSoup(wb_data.text,'lxml')

我们先随便找一栏:

然后对网页使用开发者工具提取我们想要的信息。还记得左上角这个鼠标+框框的图案(图中变蓝了)吗?点击它,然后点击标题。

右边会自动跳转到它的代码:

选择它的上一级,也就是上一个小三角形。如图:

右键-Copy-Copy selector,会得到下面这个:

#main-wrap-left > div.bloglist-container.clr > article:nth-child(5) > div.home-blog-entry-text.clr

把'#'号到'>'号的部分去掉,再把:nth-child(5)去掉,这个指的是第五个标签,如果不去掉的话你只会得到第五个标签的内容。

得到:div.bloglist-container.clr > article > div.home-blog-entry-text.clr

如果你对图片、摘要,分别做同样的事情,你会得到

图片:div.bloglist-container.clr > article> a > div > img

摘要:div.bloglist-container.clr > article > div.home-blog-entry-text.clr > p

然后定义一个 :变量=soup.select("你刚刚得到的内容")

titles = soup.select("div.bloglist-container.clr > article > div.home-blog-entry-text.clr")
texts = soup.select("div.bloglist-container.clr > article > div.home-blog-entry-text.clr > p")
imgs = soup.select("div.bloglist-container.clr > article > a > div > img")

这里是把这些内容提取出来

再把他们放到字典里(title,text,img都是新变量):

for title,text,img in zip(titles,texts,imgs):
data = {
"标题":title.get_text(),
"摘要":text.get_text(),
"图片":img.get('src')
}

然后print(data),你会得到下面的信息,这样我们就提取完毕了。(点击查看大图)


完整代码:


from bs4 import BeautifulSoup
import requests
url = "http://stuu.scnu.edu.cn/articles"
wb_data = requests.get(url)
soup = BeautifulSoup(wb_data.text,'lxml')

titles = soup.select("div.bloglist-container.clr > article > div.home-blog-entry-text.clr")
texts = soup.select("div.bloglist-container.clr > article > div.home-blog-entry-text.clr > p")
imgs = soup.select("div.bloglist-container.clr > article > a > div > img")

for title,text,img in zip(titles,texts,imgs):
data = {
"标题":title.get_text(),
"摘要":text.get_text(),
"图片":img.get('src')
}
print(data)

如果你不止想得到仅仅这十个信息,那么你可以构造函数。

我们注意到第二页的域名是:http://stuu.scnu.edu.cn/articles?paged=2

这是个重点,我们可以把2换成别的数字:

url = "http://stuu.scnu.edu.cn/articles?paged="

然后再把刚刚的内容变成一个函数:


def get_page(url):
wb_data = requests.get(url)
soup = BeautifulSoup(wb_data.text,'lxml')
titles = soup.select("div.bloglist-container.clr > article > div.home-blog-entry-text.clr")
texts = soup.select("div.bloglist-container.clr > article > div.home-blog-entry-text.clr > p")
imgs = soup.select("div.bloglist-container.clr > article > a > div > img")

for title,text,img in zip(titles,texts,imgs):
data = {
"标题":title.get_text(),
"摘要":text.get_text(),
"图片":img.get('src')
}
print(data)

再添加一个能够调整所需要的网页数目,并调用get_page的函数:

def getmorepage(start,end):
for i in range (start,end):
get_page(url+str(i))

最后你想要多少页的数据?

getmorepage(1,10)

最终结果(点击查看大图):


你想要多少有多少,快速高效。

当然我这只是抛砖引玉(还有很多用法哦)

库的安装方法:


首先我们需要三个库,一个是Beautifulsoup,一个是requests,还有一个是lxml。

如果你用的是PyCharm,可以从File->Default Settings->project interpreter内添加这两个库,如图:

点击右边那个+号,输入你想要安装的库即可。

Linux下安装:

1.有PyCharm的直接按照上文操作即可

2.没有的话请这样操作:

sudo apt-get install Python-PackageName

packageName 就是你所需要安装的库的名称。

windows下安装:

1.首先确定你安装了pip:

进入命令行(运行-CMD)输入 pip --version

如果没有报错则证明你已经安装,可以继续下面的步骤。

2.如果你已经有了PyCharm,可以像上面PyCharm部分所说的那样操作

如果没有的话你有两种选择,一是压缩包,二是pip中打命令,这里说第二种

在命令行里输入:

pip3 install packageName

packageName 就是你所需要安装的库的名称

如果遇到权限问题,请输入:

sudo pip install packageName

安装成功后会提示:

Successfully installed PackageName

如果你是python 2. 那么把pip3换成pip即可。

关于大数据中如何爬取一个网站的信息问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

内容 图片 摘要 信息 标题 问题 输入 数据 网站 函数 命令 方法 两个 代码 变量 右边 名称 就是 工具 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 瑰夏咖啡 云南咖啡 互联网与科技 江苏根荣互联网科技 科技金融是不是互联网金融 网络科技有限互联网 互联网科技大会案例 成都仁贤领冠互联网科技有限公司 华脉科技工业互联网产品 现代科技和互联网有关系吗 济南华为互联网科技产业总部基地 互联网与医疗科技 速维有品互联网信息科技(苏州)有限公司 深圳市优智互联网科技有限公司 米聚互联网科技南京有限公司排面 南博望互联网科技有限公司 卓翼科技产业互联网合作 互联网科技数字货币 35岁以上互联网科技行业 安徽九吞吴互联网科技有限公司 天津市摩尔互联网科技 科技企业和互联网企业 鑫亿盛互联网科技 猫创互联网科技 科技与互联网的利与弊 济南华为互联网科技产业总部基地 成都互联网科技公司工作好不好 互联网科技和法律行业 长沙茂晟互联网科技有限公司 上海万顺科技互联网有限公司招聘
0