python简单实现网络爬虫

article/2025/11/8 19:05:46

前言

        在这一篇博客中,我会用python来实现一个简单的网络爬虫。简单的爬取一下一些音乐网站、小说网站的标题、关键字还有摘要!所以这个爬虫并不是万能爬,只针对符合特定规则的网站使用。(只使用于爬标题、关键字和摘要的,所以只能爬在head标签中这三个信息都有的且meta标签中name参数在本文信息前面的网站。)希望大家看了这篇博客,能对大家学习爬虫有些帮助!(并不是很高深的爬虫,很基础!!!)

要用到的知识

        要用到的知识都是比较简单的啦,基本上花点时间都能学会。

        首先就是python的基础语法啦,会用能看懂就好。(会有一些文件读取的操作)

        还有就是关于爬虫的一些知识了:贪婪匹配和惰性匹配(re解析方式解析网页源代码)

        还需要一丢丢前端的知识:只需要大概看得懂html源代码就行(知道是在干嘛的)

        这些就差不多了(b站是最好的大学(主要是我懒,也没时间写这些))

爬虫的具体实现

        先拿一个网站做例子分析,打开酷狗官网,右键点击检查:

         红框中的就是我们需要提取的信息啦。这还是很容易提取出来的。使用re模块里面的贪婪匹配与惰性匹配,将想要的数据提取出来就好。例如:

 obj = re.compile(r'<title.*?>(?P<title>.*?)</title>.*?'r'<meta.*?name="keywords".*?content="(?P<keywords>.*?)".*?>'r'<meta.*?name="description".*?content="(?P<description>.*?)".*?>', re.S)

        在上面我们只用了一次compile函数就完成了匹配。

        但是我,我们需要提取的并不止是酷狗官网,还有其他一些网站。上面代码写的规则并不适合一些网站,比如,一些网站把标题放在最后面,关键字和摘要放在前面,那么我们就匹配不到想要的信息。这个也比较好解决,将一条compile拆成多条compile就行。

    obj1 = re.compile(r'<title.*?>(?P<title>.*?)</title>', re.S)obj2 = re.compile(r'<meta.*?name="keywords".*?content="(?P<keywords>.*?)".*?>', re.S)obj3 = re.compile(r'<meta.*?name="description".*?content="(?P<description>.*?)".*?>', re.S)

        下面是整个python源代码(在源代码里面使用了文件读取将提取到的信息保存到文件里面):

import requests
import re
import csvurls = []# 分别是酷狗音乐、酷我音乐、网易云音乐、起点中文网、咪咕音乐、bilibili、qq音乐
urls.append("https://www.kugou.com/")
urls.append("http://www.kuwo.cn/")
urls.append("https://music.163.com/")
urls.append("https://www.qidian.com/")
urls.append("https://www.migu.cn/index.html")
urls.append("https://www.bilibili.com/")
urls.append("https://y.qq.com/")# 打开csv文件
f = open("test.csv", mode="w", encoding="utf-8")
csvwriter = csv.writer(f)
csvwriter.writerow(["标题","关键字","摘要"])# 对所有网站进行get访问,获取源代码后用re模块将想要提取的内容提取出来
for url in urls:# 向网页发出请求resp = requests.get(url)# 设置字符编码resp.encoding = 'utf-8'# 使用非贪婪匹配.*?(惰性匹配),re.S用来匹配换行符obj1 = re.compile(r'<title.*?>(?P<title>.*?)</title>', re.S)obj2 = re.compile(r'<meta.*?name="keywords".*?content="(?P<keywords>.*?)".*?>', re.S)obj3 = re.compile(r'<meta.*?name="description".*?content="(?P<description>.*?)".*?>', re.S)# 对网页源代码进行匹配result1 = obj1.finditer(resp.text)result2 = obj2.finditer(resp.text)result3 = obj3.finditer(resp.text)# 创建一个队列来将数据保存,方便写入csv文件中lis = []for it in result1:#print("标题:",it.group("title"))lis.append(it.group("title"))for it in result2:#print("关键字:",it.group("keywords"))lis.append(it.group("keywords"))for it in result3:#print("摘要:",it.group("description"))lis.append(it.group("description"))print(lis)print()# 将队列写入csv文件csvwriter.writerow(lis)# 关闭请求resp.close()
print('over!')
# 关闭文件指针
f.close()

        下面是运行结果图:

        用WPS打开这个csv文件进行查看: 

         在pycharm中打开csv文件查看是否将数据写入文件中:

结语

        好矛盾好纠结,又想把思路写清楚又感觉没必要。。。。。。

        感谢浏览这篇博客,希望这篇博客的内容能对你有帮助。

        


http://chatgpt.dhexx.cn/article/LMJfsDXe.shtml

相关文章

【海岛吉他1】全面认识吉他谱

调号 拍号 1G 4/4 休止符&#xff1a;

新手小白学吉他,如何掌握基础快速入门

吉他弹唱是非常快乐&#xff0c;非常浪漫&#xff0c;非常酷的一件事。俗话说“不怕流氓有文化&#xff0c;就怕流氓有吉他”&#xff0c;大家也都知道吉他是把妹的神器。相信很多人的床底下&#xff0c;角落里&#xff0c;都扔了一把布满了灰尘的吉他&#xff0c;因为学不会而…

乐理: 认识吉他谱

文章目录 2019/6/20日记调式节奏与拍谱标记参考资料 2019/6/20日记 基本乐理都不会&#xff0c;到处搜资料太乱了&#xff0c;找了几个免费乐理教程先好好系统学习一下吧&#xff0c;不知道好不好。记录一下, 每天做题做累了看一点吧。。。 网易云公开课聆听音乐(耶鲁大大学公…

转自知乎的吉他学习篇

iPhone Android 错过这篇&#xff0c;你可能这辈子都学不会弹吉他了&#xff08;多图&#xff09; 图片&#xff1a;《醉乡民谣》 零基础如何自学吉他&#xff1f; 梁策&#xff0c; 非阴谋论者/产品经理/吉他爱好者 错过这篇文章&#xff0c;你可能这辈子都学不会弹吉他了。 …

新手入门吉他推荐,第一把吉他从这十款选绝不踩雷!初学者吉他选购指南【新手必看】#VEAZEN费森#雅马哈#卡马

一、新手购琴注意事项&#xff1a; 1、预算范围 一把合适的吉他对于初学者来说会拥有一个很好的音乐启蒙。选一款性价比高&#xff0c;做工材料、音质和手感相对较好的吉他自然不会是一件吃亏的事。**初学者第一把琴的预算&#xff0c;我觉得最低标准也是要在500元起&#xf…

学吉他该如何科学背谱?

相信对于很多正在学习或者技巧纯熟的吉他手来说&#xff0c;背谱都是一个难题。你可能会说&#xff0c;背谱&#xff0c;背就完事了。但是实际上&#xff0c;对于高手来说&#xff0c;背诵一个乐谱可能都得花十几个小时&#xff0c;对于新手而言&#xff0c;背诵的时间可能是高…

零基础简单的乐理知识

音符以及它的两种表达形式 首先&#xff0c;我们从最基本的开始讲&#xff0c;即七个基本的音符1234567&#xff0c;也音译为​​do​​、​​re​​、​​mi​​、​​fa​​、​​sol​​、​​la​​、​​xi​​&#xff0c;这是每个人都知道的(当然如果这个都不知道那我也…

Ffmpeg视频压制的基础知识

Ffmpeg视频压制的基础知识 ffplay播放 全屏播放 ffplay -i .\0001.mp4以720P播放 ffplay -i -vf scale1280:-1 .\0001.mp4指定分辨率 ffplay -volume 1 -x 1280 -y 720 .\0001.mp4格式转换 码率设置 ffmpeg -i input.mp4 -b:v 1000 output.mp4-i input 输入路径 -b:v 帧率 …

数字音频基础知识

了解声音 声波 声音始于空气中的振动&#xff0c;如吉他弦、人的声带或扬声器纸盆产生的振动。这些振动一起推动邻近的空气分子&#xff0c;而轻微增加空气压力。压力下的空气分子随后推动周围的空气分子&#xff0c;后者又推动下一组分子&#xff0c;依此类推。高压区域穿过…

2022-08-13 零基础吉他入门知识(三) 六线谱,和弦图和爬格子的知识补充,吉他中的和弦:大三和弦的各个和弦图理解

文章目录 1.六线谱2.和弦图(补充)3.爬格子(补充):按照六根弦的音阶来爬格子4.吉他中的大三和弦4.1.C和弦4.2.D和弦4.3.E和弦4.4.G和弦4.5.A和弦4.6.练习和要点 1.六线谱 六线谱的最上面是一品(吉他最下面最细的那根弦)有时候六线谱会标注数字 其中,0代表空弦,1代表一品,其他数…

2022-07-31 零基础吉他入门知识(一):认识吉他(琴弦,品格)等,如何弹奏吉他,左右手指法练习,扫弦,和弦级数和常见和弦

文章目录 0.前言1.吉他的琴弦1.1.叫什么?1.2.分别是什么音? 2.吉他的品格2.1.名词介绍2.2.变调夹2.3.看懂和弦图 3.开始弹吉他3.1.怎么弹3.2.右手指法练习3.2.左手指法练习(爬格子)3.4.左右手配合 4.扫弦4.1.怎么扫4.2.民谣扫弦(节奏型)4.3.慢谣扫弦(节奏型) 5.和弦5.1.和弦级…

2022-08-01 零基础吉他入门知识(二) 吉他上的十二平均律,给吉他调弦,规范化弹吉他:节拍器,持琴姿势和拨弦手势

文章目录 0.回顾1.吉他上的十二平均律钢琴上的十二平均律:七个白键五个黑键组成数量为12的不同音调的音阶吉他上的十二平均律:找出每一根弦上的1234567吉他上的音阶把位图【记忆】 2.给吉他调弦步骤成功标志 3.左右手练习时的规范化:节拍器,持琴姿势,拨弦姿势 0.回顾 2022-07-…

android 吉他模拟器,真实吉他模拟器

真实吉他模拟器让你出门在外也可以演奏各类吉他&#xff0c;只需要手机就可以模拟吉他琴弦和音色&#xff0c;在手机上练习吉他将不再是梦想&#xff0c;真实吉他模拟器带你遨游乐器演奏世界。 真实吉他模拟器玩法特色 ★ 各种类型的乐器&#xff1a; - 原声吉他 - 电吉他 - 古…

吉他指弹特殊调弦的方法及基础音阶知识

在学习特殊调弦之前我们需要知道一些基础的吉他音阶知识&#xff1a; 这里音阶简谱和吉他弦都可以用123456表示&#xff0c;所以下面的数字具体表示什么一定要区分清楚&#xff01;&#xff01; 1.音阶&#xff1a;1 2 3 4 5 6 7 i (这里的i表示1上加一个点&#xff0c;即高音的…

吉他入门乐理知识精髓篇

吉他入门乐理知识精髓篇!!! 心若无尘,一弦一世界,一琴一天堂 基本的乐理对于刚开始接触吉他的初学者非常重要,如果不懂乐理就不能更好的学习吉他,所下面的内容是学习吉他不可缺少的部分。 一、 乐曲的基本组成 一首完整的乐曲是由一些固定的音乐单元组成,分清这些音乐…

【音乐系列】吉他学习入门基本知识

DATE&#xff1a; 2019.8.8 title: 吉他学习入门基本知识 date: 2019-08-08 10:45:47 categories: 生活音乐 tags:吉他 1、吉他选择 新手学吉他&#xff0c;如何快速入门 初学吉他买什么吉他好&#xff1f;新手买吉他必看 雅马哈F310 经过几天对吉他构造的研究&#xff0c;对…

吉他学习丨基础知识

1、吉他音高 从上到下读法&#xff1a;米、西、扫、ruai、啦、米——mi、si、sol、re、la、mi 上带点&#xff1a;高音 不带点&#xff1a;中音 下带点&#xff1a;低音 2、简谱与音程的关系 音程&#xff1a;全音、半音 3、品 琴颈上每格为1品 4、弹法 左手&#xff1a;…

OJ 报数游戏(多种方法)

描述 n个人围成一圈&#xff08;编号为1 - n&#xff09;&#xff0c;从第1个人开始报数&#xff0c;报到k的人出列&#xff0c;后面的人重新从1开始报数。问最后剩下的人的编号。 例如&#xff1a;n 3&#xff0c;k 2。2号先出列&#xff0c;然后是1号&#xff0c;最后剩下…

python——报数游戏

报数游戏 模拟报数游戏。有n个人围成一圈&#xff0c;顺序编号&#xff0c;从第一个人开始从1到k&#xff08;假设k3&#xff09;报数&#xff0c; 报到k的人退出圈子&#xff0c;然后圈子缩小&#xff0c;从下一个人继续游戏&#xff0c;问最后留下的是原来的第几号。 思路 …