学习python爬虫,主要利用音乐解析网站,尽心音乐的下载,但是根据B站复现代码之后,出来的数据压根不是想要的那种。
# _*_ conding:uif-8 _*_
# 开发团队:青岛大学未来研究院
# 开发人员:
# 开发时间:2020/11/2816:41
# 文件名称:explain
# 开发工具:
# 文件功能解释:
from tkinter import *
import requests
#界面
#一 添加内容
#1.创建一个窗口
def get_window():
root= Tk()
#2.写一个标题
root.title("全网音乐下载器")
#3.设置窗口的大小
root.geometry('600x400+600+200')#400*400是大小,600+200是相对的屏幕位置。
#4.标签
label=Label(root,text="请输入下载的歌曲:",font=('华文行楷',20))#字体加大小
#5.定位
label.grid(row=0,column=0)#这里是默认的
#6.输入框
entry=Entry(root,font=('隶书',20),width=18)#这里是输入框的大小,可以默认,默认的大小不与之前的保持一致,是属于独立的个体
entry.grid(row=0,column=1)#这里是对于位置的表示
#7.列表框
listbox=Listbox(root,font=('隶书',20),width=35,height=10)#height和width是属于列表框的大小。
listbox.grid(row=1,columnspan=2)#spancolumn表示横跨的列数
#8.下载按钮
button1=Button(root,text='start',font=('隶书',15))
button1.grid(row=2,column=0,sticky=W)
button2=Button(root,text='start',font=('隶书',15))
button2.grid(row=2,column=2,sticky=E)#sticky是属于最东的布局
#显示窗口
root.mainloop()
#爬虫
#这里主要用函数的名称进行存储
def get_music_name():
name= '夜曲'
head={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36',
'Cookie': 'UM_distinctid=1760ef11160361-052b4feceba843-333376b-1fa400-1760ef111615b9; CNZZDATA1279162877=1785418180-1606568446-%7C1606568446',
'X - Requested - With': 'XMLHttpRequest'#判断请求是同步还是异步的。
}#一般网站补充这两个就可以了,不行的话就在f12模式下,找到network下的head进行进行添加各种东西,挨个来。
params={
'input': name,#name是一个变量
'filter': 'name',
'type': 'qq',
'page': 1,
}
url ='http://www.youtap.xin/'
resp= requests.post(url,data=params,headers=head)
'''post是一种请求方式,和之前的那种不太一样
post是一种需要携带信息进行访问,
'''
#print(resp.text)
print(resp.content.decode('utf-8'))#这个又是啥呢,了解一下啦
get_music_name()
运行上述代码之后,出现如下的的情况;(这里的代码主要是用来处理的是解析网站,还没有到下载那一步。)
E:\anaconda\envs\clawer\python.exe F:/pythonfial/WYY/WDM/explain.py
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>