系列文章目录
编程小白的自学笔记九(python爬虫入门+代码详解)
编程小白的自学笔记八(python中的多线程)
编程小白的自学笔记七(python中类的继承)
编程小白的自学笔记六(python中类的静态方法和动态方法)
编程小白的自学笔记五(Python类的方法)
目录
系列文章目录
前言
一、如何查找网页的headers
二、如何查找top200数据
总结
前面我们已经学习了第三方模块requests模块的get函数,今天我们继续深入学习
一、如何查找网页的headers
通过上次的学习,我们发现我们需要传参headers来骗过服务器,从而让服务器相信是一个正常浏览器在访问它,并不是每一台计算的headers都相同,我们怎么知道呢?我们可以使用浏览器正常访问,然后在检查模式下查看,具体操作如下:
1、打开网页的检查模式。用谷歌浏览器打开网页后,右击鼠标,点击检查。
2、选择Network。打开检查模式后,我们在右边的检查模式窗口,点击Network。
3、选择name。打开Network后,我们发现没有内容,这时点击键盘上的F5键,页面刷新后,出现了name选项卡。
4、查找User-Agent。点击name选项卡里的html文件,然后在右边找到User-Agent,然后把里面的内容复制到python就行了,代码如下:
import re
url = 'https://www.kugou.com/yy/rank/home/1-8888.html'
h = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
try:
req = requests.get(url,headers=h)
songs = re.findall(r'<li.*?title="(.*?)"',req.text)
for song in songs:
print(song)
except:
print('查询失败')
结果输出和上一篇文章一样。
二、如何查找top200数据
上面的代码只能获取一个网页的数据,只能获得top20的数据,我们想要获取top200的数据,难道要写个十个代码。
No~,经过研究链接,我们发现,把后面的1-8888改成2-8888就翻页到第二面,以此类推,top180-200的链接是10-8888,链接本质上是以字符串的形式传给url,这样我们可以设置一个变量,通过for循环的形式,自动改变url的地址。我们来看一下代码:
import requests
import re
for i in range(1,11):
url = f'https://www.kugou.com/yy/rank/home/{i}-8888.html'
h = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
try:
req = requests.get(url,headers=h)
songs = re.findall(r'<li.*?title="(.*?)"',req.text)
for song in songs:
print(song)
except:
print('查询失败')
输出的结果为:
苏星婕 - 听悲伤的情歌
指尖笑 - 不问ciaga
郭顶 - 凄美地
一只白羊 - 等不到的你
任夏 - 悲伤的爱情
张靓颖、王赫野 - 是你 (Live)
Mae Stephens - If We Ever Broke Up (Explicit)
Kui Kui - 宝贝在干嘛
张紫豪 - 可不可以
周杰伦 - 说好的幸福呢
周杰伦 - 晴天
汪苏泷、吉克隽逸 - Letting Go (Live)
承桓 - 我会等
蔡健雅 - Letting Go
任夏 - 失眠情歌 (Live合唱版)
苏星婕 - 吹着晚风想起你
周杰伦 - 我落泪情绪零碎
云狗蛋 - 天若有情
程响 - 可能
A-Lin - 天若有情
RE-D、是二哈ya、masta - 肯定
G.E.M. 邓紫棋 - 喜欢你
周杰伦 - 蒲公英的约定
胡彦斌 - 你要的全拿走
赵雷 - 我记得
BEYOND - 海阔天空
周杰伦 - 兰亭序
李宇春 - 下个,路口,见
郭静 - 心墙
黄静美、张俊波 - 我借人间二两墨
Wiz_H张子豪 - 一般的一天
曲肖冰 - 谁
G.E.M. 邓紫棋 - 多远都要在一起
Ailee - HEAVEN (Original Version)
蔡健雅 - 达尔文
王蓝茵 - 恶作剧
宝石Gem - 电梯战神 (Live)
羊羊 - 用情
周杰伦 - 明明就
盛哲 - 在你的身边
Taylor Swift - Love Story
Kelly Clarkson - Catch My Breath
张碧晨 - 开往早晨的午夜
cici_ - 把回忆拼好给你
周杰伦 - 稻香
周杰伦 - 花海
林俊杰 - 裹着心的光
Hillsong Young & Free - Wake (Studio)
周杰伦 - 七里香
买辣椒也用券 - 起风了
EXO - Baby, Don't Cry (인어의 눈물)
林俊杰 - 达尔文
周杰伦 - 我是如此相信
蔡健雅 - 红色高跟鞋
Lulleaux、Kid Princess - Empty Love
指尖笑 - 不问别离
蔡健雅 - 达尔文 II
永彬Ryan.B - 像极了
周杰伦 - 反方向的钟
王菲 - 如愿
告五人 - 爱人错过
周杰伦 - 说了再见
余超颖 - 春泥
周杰伦 - 最长的电影
侯泽润 - 有一种爱是你在
JISOO - 꽃 (FLOWER)
田馥甄 - 小幸运
周杰伦 - 爱在西元前
耳朵便利店 - 我不信你不惭愧
苏星婕 - 把回忆拼好给你
Ari Abdul - BABYDOLL (Speed) (Explicit)
Lil笑笑 - 山茶花读不懂白玫瑰
曾浩然 - 我的美丽
黄静美 - 庄周一生梦一蝶
周杰伦 - 一路向北
锤娜丽莎 - 我太笨
薛之谦 - 崇拜
陈奕迅 - 爱情转移
AGA - 孤雏
RAiNBOW计划、雷雨心 - 记念
小咪 - 我走后
DP龙猪、王云宏、陷阱表哥 - 翠花
林俊杰 - 不潮不用花钱
周林枫 - 忘了
周杰伦 - 青花瓷
胜屿 - 特别的爱给特别的你
五月天 - 后来的我们
FIFTY FIFTY - Cupid
Madnap、Pauline Herr - Slow Down
周杰伦 - 退后
汐音社、浮生梦 - 探窗
告五人 - 带我去找夜生活
尹昔眠 - 三拜红尘凉
程今 - 爱是无畏的冒险
侯泽润 - 一无所有的年纪
S.H.E - Super Star
周杰伦 - 搁浅
张芸京 - 偏爱
周杰伦 - 夜曲
任夏 - 爱的惩罚
柯柯柯啊 - 姑娘在远方
苏晗 - 最后一页
林俊杰 - 修炼爱情
黄绮珊、希林娜依高 - 是妈妈是女儿
BY2 - 我知道
张碧晨、王赫野 - 字字句句 (Live)
赵雷 - 我们的时光
Hedley - Lose Control (Explicit)
林俊杰 - 江南
那奇沃夫、KKECHO - 苦咖啡·唯一
容祖儿 - 就让这大雨全都落下
韩帅(HS) - 遇星
Henry Young、Ashley Alisha - One More Last Time
张叶蕾 - 还是分开
葛东琪 - 悬溺
街道办GDC、欧阳耀莹 - 春娇与志明
melo-D - Just Say Hello
BEYOND - 光辉岁月
印子月 - 落空
柯子颜 - 听悲伤的情歌
花玲、喵酱油、宴宁、Kinsen - 让风告诉你
Capper、罗言RollFlash - 雪 Distance
Glichery - Sea Of Problems (Explicit)
阿梨粤 - 晚风心里吹
林俊杰 - 美人鱼
邵帅 - 暖一杯茶
G.E.M. 邓紫棋 - 倒数
张韶涵、王赫野 - 篇章
崔子格 - 卜卦
侯泽润 - 惩罚与奖励
林俊杰 - 可惜没如果
G.E.M. 邓紫棋 - 桃花诺
萧亚轩 - 遗失的心跳
阿桑 - 一直很安静
當山みれい - 願い〜あの頃のキミへ〜 (祈愿~致那个时候的你~)
林俊杰 - Always Online
陈绮贞 - 还是会寂寞
周杰伦 - 半岛铁盒
汪苏泷、Jessica - 哎呀 (Live)
林俊杰 - 背对背拥抱
Zyboy忠宇 - 妈妈的话
周杰伦 - 轨迹
福禄寿FloruitShow - 我用什么把你留住 (Live)
周杰伦 - 枫
梦然 - 是你
薛之谦 - 天外来物
蔡健雅 - 越来越不懂
于冬然 - 听说你
王子健 - 循迹
林俊杰 - 裂缝中的阳光
周杰伦、张惠妹 - 不该
Pixxie、Zom Marie - ไม่ได้ก็ไม่เอา (Whatever)
萧敬腾、张淇 - 武家坡2021 (Live)
告五人 - 唯一
程响 - 人间烟火
李荣浩 - 李白
戚薇 - 如果爱忘了
G.E.M. 邓紫棋 - 再见
EXO - Baby, Don't Cry (人鱼的眼泪)
侯泽润 - 借口
Professor Green - In The Shadow Of The Sun
平生不晚 - 难却
郭顶 - 水星记
周杰伦 - 烟花易冷
浩然H.R - 年少的你啊
蔡徐坤 - Hug me
Meg Myers - Running Up That Hill
Max Elto - Shadow Of The Sun
蓝心羽 - 寂寞烟火
林俊杰 - 曹操
家家 - 命运
周杰伦 - 你听得到
周杰伦 - 告白气球
一只白羊 - 赐我
周传雄 - 黄昏
Dion Timmer、The Arcturians - The Best Of Me
林俊杰 - 浪漫血液
弦子、小乐哥(王唯乐) - 不甘 (Live)
林俊杰 - 将故事写成我们
青鸟飞鱼 - 此生不换
五月天 - 步步
LBI利比 - 小城夏天
吉克隽逸、于文文 - 你要的全拿走 (Live)
威仔、格子兮 - 我知道你不爱我
周杰伦 - 不能说的秘密
JVKE - golden hour
王力宏 - 我们的歌
半吨兄弟、张茜 - 乌兰巴托的夜
周林枫、L(桃籽) - 只为碎银几两
曲婉婷 - 我的歌声里
任夏 - 凭什么
付豪 - 他真的对你好吗
海洋小霞 - 向云端
柯柯柯啊 - 雨过天不晴
杨丞琳 - 雨爱
Daniel Powter - Free Loop
周杰伦 - 等你下课 (with 杨瑞代)
王忻辰、苏星婕 - 清空
丹正母子 - 乌兰巴托的夜
王以太、刘至佳 - 危险派对
KOKIA - ありがとう… (谢谢…)
张杰 - 他不懂
周杰伦 - 暗号
汪苏泷、容祖儿 - 就让这大雨全都落下 (Live)
Tungevaag、Raaban、Richard Smitt - All For Love
蓝心羽 - 阿拉斯加海湾
林俊杰 - 我还想她
Wiz Khalifa、Charlie Puth - See You Again
Öwnboss、SEVEK - Move Your Body (remix:Razihel)
Reynard Silva - The Way I Still Love You
筷子兄弟 - 老男孩
ycccc - 满天星辰不及你
一只白羊 - 吹安静的风
就是南方凯 - 巡光
杨丞琳 - 带我走
陆杰awr - 晚风遇见你
陆杰awr - 32度的晚风
许巍 - 曾经的你
侯泽润 - 下辈子做个狠心人
胡歌 - 忘记时间
200个数据不多不少,如果网页的地址没有特殊的规律,我想可以做一个列表,或者放在一个文件里,同样使用for循环来实现。
总结
爬虫headers是指在发送请求时,附带的一些信息,用于模拟浏览器行为。常见的headers包括User-Agent、Referer、Cookies等。其中,User-Agent用于标识请求的来源,Referer用于标识请求的来源页面,Cookies用于存储登录状态等信息。