使用 Python 合并从 HTML 抓取的多个列表
Merge multiple list scraped from HTML using Python
我正在尝试 从网络上抓取 名称列表,需要以 Pandas.
的形式列出
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)
但是,Pandas 输出效果不佳,因为 table 的标题放在每个名称和来源上,而这些名称和来源本应位于 table 的顶部.
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
合并列表中的所有字符串,但它仍然没有显示 DataFrame Pandas 应该显示的内容。有人可以帮助我吗?
您需要先将所有字典添加到列表中,然后创建数据框并删除字典中的方括号。
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)
我正在尝试 从网络上抓取 名称列表,需要以 Pandas.
的形式列出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)
但是,Pandas 输出效果不佳,因为 table 的标题放在每个名称和来源上,而这些名称和来源本应位于 table 的顶部.
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
合并列表中的所有字符串,但它仍然没有显示 DataFrame Pandas 应该显示的内容。有人可以帮助我吗?
您需要先将所有字典添加到列表中,然后创建数据框并删除字典中的方括号。
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)