庸人忧天下 发表于 2020-4-19 09:57:58

搜狗音乐排名爬虫,代码未报错,但无数据返回,求大神指点!

本帖最后由 庸人忧天下 于 2020-4-19 15:08 编辑


import requests
import time
from bs4 import BeautifulSoup

headers={'user-agent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1'}

def get_info(url):
    wb_data=requests.get(url,headers=headers)
    soup=BeautifulSoup(wb_data.text,'html.parser')
    ranks=soup.select('#rankWrap > div.pc_temp_songlist > ul > li:nth-child(1) > span.pc_temp_num > strong')
    titles=soup.select('#rankWrap > div.pc_temp_songlist > ul > li:nth-child(1) > a')
    times=soup.select('#rankWrap > div.pc_temp_songlist > ul > li:nth-child(1) > span.pc_temp_tips_r > span')
    for rank,title,time in zip(ranks,titles,times):
      print(rank.get_text())
      data={
            'rank':rank.get_text().strip,
            'title':title.get_text().split('-'),
            'time':time.get_text().strip()
      }
      print(data)

if __name__=='__main__':
    urls=['https://www.kugou.com/yy/rank/home/{}-8888.html?from=rank'.format(str(i)) for i in range(1,24)]
    for url in urls:
      get_info(url)
    time.sleep(1)

suchocolate 发表于 2020-4-19 13:08:09

if __name__=='__main__':

庸人忧天下 发表于 2020-4-19 14:59:34

suchocolate 发表于 2020-4-19 13:08
if __name__=='__main__':

您好,我没看出来哪里不一样啊?{:5_100:}

xxfholic 发表于 2020-4-19 15:03:18

庸人忧天下 发表于 2020-4-19 14:59
您好,我没看出来哪里不一样啊?

他的意思是你代码里23行
if __name__=='__main':
改成:
if __name__=='__main__':
再试试

庸人忧天下 发表于 2020-4-19 15:07:47

本帖最后由 庸人忧天下 于 2020-4-19 15:09 编辑

奥奥,谢谢,修改后好了,谢谢!!
页: [1]
查看完整版本: 搜狗音乐排名爬虫,代码未报错,但无数据返回,求大神指点!