import re
import pymysql
import bs4
from bs4 import BeautifulSoup #解析器
import re
import urllib.request,urllib.error
baseurl = "https://music.douban.com/chart";
def askURL(url):
head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.27"}
req = urllib.request.Request(url,headers=head) #模拟浏览器
html = ""
try:
resp = urllib.request.urlopen(req) #爬取网络内容
html = resp.read().decode("utf-8") # print(html)
except urllib.error.URLError as e:
if hasattr(e,"reason"):
print(e.reason)
return html
#正则表达提取数据
mName = re.compile(r'(.)') # mingzi
mZuo = re.compile(r'
(.)
') #zuozhedef getData(baseurl):
datalist = []
for i in range(0):
url = baseurl
html = askURL(url) # 爬取数据并保存
soup = BeautifulSoup(html, "html.parser") # 用html解析器解析html文档
for j in soup.find_all('div', class_="item"): # 查找类选择器为item的div
data = []
item = str(j) # 转化为字符串
mzuo = re.findall(mZuo, item)[0]
data.append(mzuo)
mday = re.findall(mDay, item)[0]
data.append(mday)
msheng = re.findall(mSheng, item)[0]
data.append(msheng)
datalist = getData(baseurl)
datalist.append(data)
print(datalist)
getData(baseurl)
结果没有显示代码出错 只显示进程结束
不知道这代码哪里出问题了
把你的代码通过代码块贴出来,这样的话格式没办法看
这样把代码贴出来