崇州市网站建设,岳阳房地产信息网,网址访问,怎么用花生壳做网站前言
网络爬虫#xff08;Web Crawler#xff09;#xff0c;也称为网页蜘蛛#xff08;Web Spider#xff09;或网页机器人#xff08;Web Bot#xff09;#xff0c;是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索引、内容抓…前言
网络爬虫Web Crawler也称为网页蜘蛛Web Spider或网页机器人Web Bot是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索引、内容抓取等。
爬虫的基本原理
种子 URL爬虫从一个或多个种子 URL 开始这些 URL 是起点。发送请求爬虫向这些种子 URL 发送 HTTP 请求通常是 GET 请求。获取响应服务器返回网页的 HTML 内容作为响应。解析内容爬虫解析 HTML 内容提取所需的数据如文本、链接、图片等。提取链接从网页中提取出所有链接并将这些链接加入待访问队列。重复过程爬虫重复上述步骤直到达到某个停止条件如爬取了一定数量的页面或所有页面都被爬取完毕。
爬虫的分类 通用爬虫 设计用于抓取整个互联网的大量网页。搜索引擎如 Google、Bing的爬虫就是通用爬虫。 聚焦爬虫 专注于特定主题或领域抓取相关网页。比如一个新闻爬虫只抓取新闻网站的内容。 增量爬虫 仅抓取自上次爬取以来发生变化或更新的网页适用于动态内容更新频繁的网站。
爬虫的合法性和道德
在编写和运行爬虫时必须遵循以下原则 遵守网站的 robots.txt 大多数网站都有一个 robots.txt 文件规定了哪些页面允许被爬取哪些不允许。爬虫应当尊重这些规则。 避免过度抓取 设置适当的抓取频率避免对服务器造成过大负担。 尊重版权和隐私 不应抓取或使用受版权保护的内容或涉及用户隐私的数据。 获取许可 在某些情况下最好获得网站管理员的许可特别是当你打算频繁地抓取大量数据时。
通过以上方法和原则可以编写高效、可靠且合规的网络爬虫来满足数据采集的需求。
侦察
打开页面 F12 检查定位关键元素 在网络中刷新页面 搜索关键字 查看在页面中的渲染情况是不是我们想要的数据可以看到这里列出了200首歌那么就是的 在标头中确定数据来源地址及请求方法 源代码
import re
import os
import requestsfilename music\\# 如果没有则创建文件夹
if not os.path.exists(filename):os.makedirs(filename)# 请求网址如果想要爬取其他的榜单的歌曲内容只需要改这个 url 即可
url https://music.163.com/playlist?id3778678# 伪造请求头
headers {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
}# 发送请求
response requests.get(url, headersheaders)# re.findall
# 这个函数用于在字符串中查找所有与正则表达式模式匹配的部分并返回一个包含所有匹配项的列表
# r 前缀表示这是一个原始字符串其中的反斜杠不会被解释为转义字符
# (\d): 捕获组匹配一个或多个数字
# (.*?): 捕获组非贪婪匹配任何字符包括空字符直到遇到 /a
html_data re.findall(rlia href/song\?id(\d)(.*?)/a, response.text)# 正则表达式提取出来的一个内容返回是列表 里面每一个元素都是元组
for num_id, title in html_data:# 调用接口music_url fhttps://music.163.com/song/media/outer/url?id{num_id}.mp3# 发送请求获取二进制数据music_content requests.get(music_url, headersheaders)# 保存with open(music\\ title .mp3, wb) as f:f.write(music_content.content)print(num_id, title)项目效果