我的目标是制作带有内容部分标题和相关链接的字典(在可汗学院页面上)。
这是我的代码:
from bs4 import BeautifulSoup
import re
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://www.khanacademy.org/computing/computer-programming/programming#intro-to-programming')
r.html.render(sleep=5)
soup=BeautifulSoup(r.html.html,'html.parser')
#find course steps links
courses_links = soup.find_all(class_='link_1uvuyao-o_O-nodeStyle_cu2reh-o_O-nodeStyleIcon_4udnki')
list_courses={}
#print(courses_links)
for links in courses_links:
courses = links.extract()
link_course = courses['href']
#print(link_course)
title_course= links.find(class_='nodeTitle_145jbuf')
#print(title_course)
span_title_course=title_course.span
#print(span_title_course)
text_span=span_title_course.text.strip()
#print(text_span)
final_link_course ='https://www.khanacademy.org'+link_course
#print(final_link_course)
list_courses[text_span]=final_link_course
print(list_courses) #showing weird things
我想得到类似{title1 : link1, title2: link2...}
的东西。但是相反,我得到了多个词典(带有多个{}
)。
答案 0 :(得分:1)
我想使用pandas这个非常好的数据分析工具来进行python编程。
只需使用pandas
pip
将熊猫作为pd导入
通过字典,如下所示。
df=pd.DataFrame.from_dict(list_courses,orient='index')
print(df)
这只是另一个选择。否则请不要采用。