#python #pandas #list #web-scraping #append
Вопрос:
Я пытаюсь извлечь список имен из Интернета, и мне нужно отобразить его в виде панд.
import pandas as pd
images = soup.find_all('img')
for elements in images:
x = elements['alt'] # str
y = elements['src'] # st
if x != '':
b = {'alt':[x], 'src':[y]}
df = pd.DataFrame(b)
print(df)
Но, Панды вывели его не очень хорошо, так как название таблицы помещается на каждое имя и источник, который должен быть расположен в верхней части таблицы.
alt src
0 Crime Defender admin/course_image/crime_defender.jpg
alt src
0 Abdul Vaheed admin/trainer_image/abdul-vaheed.jpg
alt src
0 Crime Investigator admin/course_image/investigator.jpg
alt src
0 Abdul Vaheed admin/trainer_image/abdul-vaheed.jpg
alt src
0 Ethical Hacking admin/course_image/hacker.jpg
alt src
0 Dipendra Sharma admin/trainer_image/dipendra.jpg
alt src
0 Pentester Professional admin/course_image/pen1.jpg
alt src
0 Dipendra Sharma admin/trainer_image/dipendra.jpg
alt src
0 Pen Tester For Mobile admin/course_image/android.png
alt src
0 Abdul Vaheed admin/trainer_image/abdul-vaheed.jpg
alt src
0 Secure Programmer admin/course_image/secure.png
alt src
0 Abdul Vaheed admin/trainer_image/abdul-vaheed.jpg
alt src
0 Fortify Web Security Expert admin/course_image/websiteSecure.jpg
alt src
0 Abdul Vaheed admin/trainer_image/abdul-vaheed.jpg
alt src
0 iOS APPLICATION EXPLOITATION admin/course_image/apple.png
alt src
0 Abdul Vaheed admin/trainer_image/abdul-vaheed.jpg
Так как кажется, что каждое имя есть в их собственном списке. Я попытался append
объединить всю строку в списке, но она все еще не показала, что должны показывать панды фреймов данных. Кто-нибудь может мне помочь?
Ответ №1:
Сначала вам нужно добавить весь диктант в список, затем создать фрейм данных и удалить квадратные скобки внутри диктанта.
response_list = []
images = soup.find_all('img')
for elements in images:
x = elements['alt'] # str
y = elements['src'] # st
if x != '':
response_list.append({'alt':x, 'src':y})
df = pd.DataFrame(response_list)
print(df)