如何从bs4.element.tag中提取信息并将其保存在数组中



我试图从http://los40.com.ar/lista40/下载所有歌曲列表,我可以手动下载,但我想自动化该过程。首先,我提取了乌尔斯的汤,但我无法浏览

的结果

例如,这是列表中的第一首歌:

  var datos_cancion_1 = Array();
  datos_cancion_1['url_audioenci']         = 'https://recursosweb.prisaradio.com/audios/dest/010002713547.mp4';
  datos_cancion_1['url_muzu']         = '';
  datos_cancion_1['url_youtube']      = 'https://www.youtube.com/watch?v=0S3enulCT8E';
  datos_cancion_1['url_itunes']       = '';
  datos_cancion_1['posicion']         = '1';
  datos_cancion_1['url_caratula']     = 'https://recursosweb.prisaradio.com/fotos/dest/010002713548.jpg';
  datos_cancion_1['titulo_cancion']   = '22';
  datos_cancion_1['nombre_artista']   = 'Greeicy;Tini';
  datos_cancion_1['idYes']            = 'Tini';
  datos_cancion_1['VidAu']            = 0;

我想获得一个阵列或json,例如:[https://recursosweb.prisaradio.com/audios/audios/dest/010002713547.mp4',https:///recursosososososososososososososososeososeososeososeososeososeososeososecur/010002713548.jpg,Greeicy; tini][datos_cancion_1 ['url_audioenci'],datos_cancion_1 ['url_caratula'],]

这是我的代码,希望您可以帮助我:

from bs4 import BeautifulSoup
import requests
import json
import re
import urllib
url = 'http://los40.com.ar/m/lista40/'
videos = []
response = requests.get(url)
bs = BeautifulSoup(response.text,"html.parser")
all_script=bs.find_all('script', language='javascript', type='text/javascript')
data=all_script[8:]
a= data[0].string
b=['https://recursosweb.prisaradio.com/audios/dest/010002713547.mp4','https://recursosweb.prisaradio.com/fotos/dest/010002713548.jpg','Greeicy;Tini', datos_cancion_1['nombre_artista'] ]
print(a)
urllib.request.urlretrieve(b[0],b[2] +'.mp3')

您可以尝试以下方法:

song_list = [''.join(' '.join(i.text.split('n')).split('=')).split(';') for i in data]

将为您提供一个像这样的数组:

["'https://recursosweb.prisaradio.com/audios/dest/010002696230.mp4'",
 "   datos_cancion_2['url_muzu']          ''",
 "   datos_cancion_2['url_youtube']       "
 "'https://www.youtube.com/watch?v1Jw_mhoCiFY'",
 "   datos_cancion_2['url_itunes']        ''",
 "   datos_cancion_2['posicion']          '2'",
 "   datos_cancion_2['url_caratula']      "
 "'https://recursosweb.prisaradio.com/fotos/dest/010002696233.jpg'",
 "   datos_cancion_2['titulo_cancion']    'Cristina'",
 "   datos_cancion_2['nombre_artista']    'Sebastián Yatra'",
 "   datos_cancion_2['idYes']             'Sebastian-Yatra'",
 "   datos_cancion_2['VidAu']             0",
 ' ']

从这里我认为您将能够按照您的意愿订购最终数组。

希望这对您有帮助。

最新更新