IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python课程内容回顾 -> 正文阅读

[Python知识库]Python课程内容回顾

Python课程内容回顾

今天Python实训课主要讲了爬虫的相关操作,主要是爬取百度小说西游记的内容和爬取网易云热歌排行榜的音乐:

爬取百度小说西游记
# -*- codeing = utf-8 -*-
# @Time : 2022/4/25 14:38
# @Author : 刘相圳
# @File : model1.py
# @Software : PyCharm
# --- 模拟浏览器向服务器发送请求
'''
软工实训课内容
'''
# 导入该库
import requests
import time
# 1.缺确定待访问网站的url
url = "http://dushu.baidu.com/api/pc/getCatalog?data={%22book_id%22:%224306063500%22}"
# 2.向目标服务器发送请求
resp1 = requests.get(url)
# 3.接收服务器返回的请求资源
# .text  把返回的内容变成字符串
print(resp1)
data1 = resp1.json() # 将返回的内容变成字典
print(data1)
print(type(data1))
titleList = data1["data"]["novel"]["items"]
print(titleList)
for x in titleList:
    url1 = "http://dushu.baidu.com/api/pc/getChapterContent?data={%22book_id%22:%224306063500%22,%22cid%22:%224306063500|"+x["cid"]+"%22,%22need_bookinfo%22:1}"
    time.sleep(1) # 添加休眠时间,防止短时间对服务器访问过于频繁,被服务器鉴定为爬虫程序(防止小型服务器崩溃)
    # print(url1)
    resp2 = requests.get(url1)
    data2 = resp2.json()
    text1 = data2["data"]["novel"]["content"]
    # print(data2)
    print(text1)
    path = "D:\\Desktop\\西游记\\"+x["title"]+".txt"
    with open(path,'w',encoding='utf8') as f:
        f.write(text1)
    print("================",x["title"]+"下载完成!====================")
爬取网易云音乐热歌榜
# -*- codeing = utf-8 -*-
# @Time : 2022/4/25 16:31
# @Author : 刘相圳
# @File : model2.py
# @Software : PyCharm

import requests
from lxml import etree
import time
url = "https://music.163.com/discover/toplist?id=3778678" # 去掉#号  网易云的防爬措施
resp1 = requests.get(url)
body = resp1.text   # print(body)
html = etree.HTML(body)
data1 = html.xpath("//ul[@class='f-hide']/li/a/@href") # 用于解析html中的数据 歌曲id
data2 = html.xpath("//ul[@class='f-hide']/li/a/text()") # 歌名
for i in range(len(data1)):
    url1 = "https://link.hhtjim.com/163/"+data1[i].split("=")[1]+".mp3"
    time.sleep(1)
    # print(url1)
    # print(data2[i]+"---->"+data1[i])
    resp2 = requests.get(url1)
    # print(resp2)
    data3 = resp2.content
    # print(data3)
    path = "D:\\Desktop\\music\\"+data2[i]+".mp3"
    with open(path,"wb") as f:
        f.write(data3)
    print("=============",data2[i]+"下载完成========")

Note:在爬取一个网站的数据的时候,首先需要判断该网站该网页的数据是存在客户端还是服务端

判断方法:在网页右键点击检查网页源代码,看在源代码中是否存在自己所需要的内容。如果在则可以直接利用该链接爬取,如果不在则需要检查->Network->XHR->刷新,根据请求去寻找自己需要的内容,从而利用该链接去爬取自己所需的内容

  • .text返回的是Unicode型的数据(想要得到的是字符串,文本)
  • .content返回的是bytes型的数据(想要得到的是图片,文件)
  • .json返回的是json格式数据(想要得到的是json格式数据)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 11:48:54  更:2022-04-28 11:48:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:23:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码