基於requests的歌曲查詢

2021-08-15 21:03:11 字數 1738 閱讀 5685

首先,引入所需要的各種包

import requests

import json

import os

while true:

name = input("歌曲名稱:")

先將輸入的名字中的空格取出,然後判斷是否為空。為空的話跳出while迴圈

if not name.strip():

break

如果不存在name.txt檔案,則建立,先不寫入任何內容

if not os.path.exists('name.txt'):

with open('name.txt', 'w', encoding='utf-8') as f:

f.write('')

執行到這一步,說明name.txt檔案是一定存在的。讀取此文件裡的內容,返回乙個列表

with open('name.txt', 'r', encoding='utf-8') as f:

name_list = f.readlines()

如果名字在上一步得到的列表裡,就跳出此次迴圈

if name+"\n" in name_list:

print('已經搜尋過')

continue

否則已追加的形式開啟檔案,將name寫入name.txt文件裡

else:

with open('name.txt', 'a', encoding='utf-8') as f:

f.write(name)

f.write('\n')

定義開始頁數  每頁顯示幾條資料  以及url  其中params用來傳遞引數,將其內容拼接到url之後

start_page = 0

num = 25

url = ""

response = requests.get(

url=url,

params=

)

由於 json的key和value不能用單引號括起來,所以要用replace函式將單引號替換成雙引號

result = response.text.replace("'", '"').replace(' ', '')

json_obj = json.loads(result)

song_list = json_obj['abslist']

for song in song_list

在此處說明,檔案的呼叫有兩種形式

形式一:

# print(song.get('songname', '沒有歌曲名稱'))

# f = open("song.txt", 'a', encoding='utf-8')

# f.write(song.get('songname', '沒有歌曲名稱'))

# f.write('\n')

# f.close()

形式二,這種方法不用寫close函式

with open("song.txt", 'a', encoding='utf-8') as f:

f.write(song.get('songname', '沒有歌曲名稱'))

f.write('\n')

python基於requests的網路通訊

requests是python實現的第三方http庫,用於python網路通訊。因為是第三方庫,所以cmd pip install requests import requests即可使用。基本請求方式 import requests requests.get 用於獲取資料 requests.pos...

二 python爬蟲之基於requests模組學習

requests模組是python中原生的基於網路請求的模組,其主要作用是用來模擬瀏覽器發起請求。功能強大,用法簡潔高效。在爬蟲領域中佔據著半壁江山的地位。因為在使用urllib模組的時候,會有諸多不便之處,總結如下 手動處理url編碼 手動處理post請求引數 處理cookie和 操作繁瑣 自動處...

爬蟲02 基於requests的動態載入資料的爬取

通過抓包工具,基於全域性搜尋,可以將動態載入資料的資料報定位到 json 方法 將獲取到的響應中的字串形式的json資料以字典或者列表形式返回 json 表示將獲取的字串形式的json資料序列化成字典或者列表 page text response.json 解析出電影的名稱和評分 for movie...