首先,引入所需要的各種包
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...