编程小白的自学笔记十(python爬虫入门二+实例代码详解)

系列文章目录

编程小白的自学笔记九(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用于存储登录状态等信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/38965.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一、音频基础-音频分析的重要工具(语谱图)

文章目录 1. 傅里叶转换2. 语谱图3. 应用1. 傅里叶转换 通过前面的描述可以知道,声音的本质就是各种声波,那么任意某一个时刻,都不可能是只有一个频率的波,而且声波也不可能是我们理解的标准的正弦波: 而一般我们对声音进行处理时,需要分析出频率当中的有哪些频率,然…

VScode 右键菜单加入使用用VSCode打开文件和文件夹【Windows】

VScode 右键菜单加入使用用VSCode打开文件和文件夹【Windows】 介绍修改注册表添加右键打开文件属性修改注册表添加右键打开文件夹属性修改注册表添加右键空白区域属性 介绍 鼠标右击文件或者文件夹&#xff0c;可直接用VSCode打开&#xff0c;非常方便。但如果我们在安装VSCo…

TypeScript 学习笔记(七):条件类型

条件类型 TS中的条件类型就是在类型中添加条件分支&#xff0c;以支持更加灵活的泛型&#xff0c;满足更多的使用场景。内置条件类型是TS内部封装好的一些类型处理&#xff0c;使用起来更加便利。 一、基本用法 当T类型可以赋值给U类型时&#xff0c;则返回X类型&#xff0c…

Vue 和 React 前端框架的比较

Vue 和 React 前端框架的比较 本文研究了流行的前端框架 Vue 和 React 之间的区别。通过对它们的学习曲线、视图层处理方式、组件化开发、响应式数据处理方式和生态系统及社区支持进行比较分析&#xff0c;得出了它们在不同方面的优劣和特点。该研究对于开发者在选择合适的前端…

Ceph简介及部署

Ceph Ceph一、存储基础1、单机存储设备2、Ceph 简介3、Ceph 优势5、Ceph 架构6、Ceph 核心组件7、OSD 存储后端8、Ceph 数据的存储过程9、Ceph 版本发行生命周期10、Ceph 集群部署 二、部署ceph-deploy Ceph 集群前环境配置1、关闭 selinux 与防火墙2、根据规划设置主机名3、配…

Cisco学习笔记(CCNA)——Introduction to TCP/IP

Introduction to TCP/IP 常见协议 应用层协议 协议 端口号 描述 HTTP 80 超文本传输协议&#xff0c;提供浏览网页服务 Telnet 23 远程登录协议&#xff0c;提供远程管理服务 FTP 20、21 文件传输协议&#xff0c;提供互联网文件资源共享服务 SMTP 25 简单邮件传…

【Go语言开发】简单了解一下搜索引擎并用go写一个demo

写在前面 这篇文章我们一起来了解一下搜索引擎的原理&#xff0c;以及用go写一个小demo来体验一下搜索引擎。 简介 搜索引擎一般简化为三个步骤 爬虫&#xff1a;爬取数据源&#xff0c;用做搜索数据支持。索引&#xff1a;根据爬虫爬取到的数据进行索引的建立。排序&#xf…

LayUI之增删改查

目录 一、前言 1.1 前言 1.2 前端代码(数据表格组件) 1.3 封装JS 二、LayUI增删改查的后台代码 2.1 编写Dao方法 2.1 增加 2.2 删除 2.3 修改 三、LayUI增删改查的前端代码 3.1 增加 一、前言 1.1 前言 上一篇文章我们一起做了LayUI的动态添加选项卡&#xff0c;这一篇…

【天工Godwork精品教程】天工3.1.7安装教程(附Godwork完整版下载地址)

本文讲解天工3.1.7安装过程(附Godwork完整版网盘下载地址)。 文章目录 一、天工3.1.7安装教程1. 安装GodWork-AT 3.1.72. 安装GodWork-AT 3.1.7补丁3. 安装GodWork-EOS-Setup-2017B-12314. 安装GodWork-EOS补丁5. 运行godwokr软件6. 生成ZC码7. 输入ZC码8. eos插件调用二、天…

【大数据之Hadoop】三十七、Hadoop HA高可用

1、HA概述 实现高可用最关键的策略是消除单点故障。HA分成各个组件的HA机制&#xff1a;HDFS的HA和YARN的HA。   Hadoop2.0之前&#xff0c;在HDFS集群中NameNode存在单点故障&#xff08;SPOF&#xff09;。 NameNode主要在以下两个方面影响HDFS集群&#xff1a; &#xff…

07-尚硅谷大数据技术之Spark源码

1. 环境准备&#xff08;Yarn 集群&#xff09; 搭建Spark on Yarn集群 3.3 Yarn 模式 独立部署&#xff08;Standalone&#xff09;模式由 Spark 自身提供计算资源&#xff0c;无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性&#xff0c;独立性非常强。但…

PyTorch训练RNN, GRU, LSTM:手写数字识别

文章目录 pytorch 神经网络训练demoResult参考来源 pytorch 神经网络训练demo 数据集&#xff1a;MNIST 该数据集的内容是手写数字识别&#xff0c;其分为两部分&#xff0c;分别含有60000张训练图片和10000张测试图片 图片来源&#xff1a;https://tensornews.cn/mnist_intr…

每日一题2023.7.19|ACM模式

文章目录 C的输入方式介绍cin>>cin.get(字符变量名)cin.get(数组名,接收字符数目)cin.get()cin.getline() getline()gets()getchar() AB问题|AB问题||AB问题|||ABⅣAB问题ⅤAB问题Ⅵ C的输入方式介绍 参考博客 cin>> 最基本&#xff0c;最常用的字符或者数字的输…

TMS FlexCel for VCL FMX Crack

TMS FlexCel for VCL & FMX Crack 强大、广泛和灵活的组件套件&#xff0c;用于VCL和FireMonkey的本地Excel报告、文件生成和操作。 FlexCel for VCL/FireMonkey是一套允许操作Excel文件的Delphi组件。它包括一个广泛的API&#xff0c;允许本地读/写Excel文件。如果您需要在…

c#调用cpp库,debug时不进入cpp函数

选中c#的项目&#xff0c;右击属性&#xff0c;进入属性页&#xff0c;点击调试&#xff0c;点击打开调试启动配置文件UI&#xff0c;打开启用本机代码调试。

uniapp 集成七牛云,上传图片

1 创建项目 我是可视化创建项目的 &#xff0c;cli创建的项目可以直接使用npm安装七牛云。 2 拷贝qiniuUploader.js到项目&#xff0c;下面的回复 放了qiniuUploader.js百度云链接。 3 在需要使用qiniuUploader的vue文件 引入。 4 相册选择照片&#xff0c;或者拍照后&#xff…

工欲善其事,必先利其器之—react-native-debugger调试react native应用

调试react应用通常利用chrome的inspector的功能和两个最常用的扩展 1、React Developer Tools &#xff08;主要用于debug组件结构) 2、Redux DevTools &#xff08;主要用于debug redux store的数据&#xff09; 对于react native应用&#xff0c;我们一般就使用react-nativ…

vue 项目优化

去除冗余的css 消除框架中未使用的CSS,初步达到按需引入的效果 使用背景&#xff1a;vue2.x, webpack3.x 使用插件&#xff1a;purifycss-webpack 安装&#xff1a; npm i purifycss-webpack purify-css glob-all -D安装后各个插件的版本&#xff1a; “glob-all”: “^3.3.…

轻松实现数据一体化:轻易云数据集成平台全解析

在当今快速发展的商业环境中&#xff0c;企业面临着大量来自多样数据源的数据。如何将这些数据进行高效集成和利用&#xff0c;成为企业数字化转型的关键挑战。轻易云数据集成平台提供了一个一站式的解决方案&#xff0c;帮助企业实现数据的无缝集成和高效利用。下面我们将通过…

[java安全]URLDNS

文章目录 [java安全]URLDNS前言HashMapURLURLStreamHandler调用过程调用链流程图POC [java安全]URLDNS 前言 URLDNS利用链是一条很简单的链子&#xff0c;可以用来查看java反序列化是否存在反序列化漏洞&#xff0c;如果存在&#xff0c;就会触发dns查询请求 它有如下优点&a…