我编写python程序来抓取数据,一些项目的类是“_3pw9 _2pi4 _2ge8”,而一些项目的类是“_3pw9 _2pi4 _2ge8 _3ms8”,我想抓取其类名称包含“_3pw9 _2pi4 _2ge8”的数据“,并且包括类名为”_3pw9 _2pi4 _2ge8 _3ms8“的数据,我写道:
soup_user_gender_page = BeautifulSoup(html_user_gender_page,"html.parser")
soup_user_about_main_frame = soup_user_gender_page.find("div",
id="pagelet_timeline_medley_about")
if soup_user_about_main_frame:
soup_user_basic_main_frame =
soup_user_about_main_frame.find("div",id="pagelet_basic")
if soup_user_basic_main_frame:
soup_user_about_li_block =
soup_user_basic_main_frame.find_all("li",class_= "_3pw9 _2pi4 _2ge8")
但是,只有类名称是“_3pw9 _2pi4 _2ge8”项目被抓取,类名为“_3pw9 _2pi4 _2ge8 _3ms8”的项目尚未被抓取
你可以告诉我原因以及如何编写程序答案 0 :(得分:0)
我明白你的问题是你需要抓取所有类名为“_3pw9 _2pi4 _2ge8”的项目。
如果确实如此,您应该考虑将最后一行更改为
soup_user_basic_main_frame.find_all("li",class*= "_3pw9 _2pi4 _2ge8")
请注意,我在class
之后将下划线更改为星号,这是“name contains”的官方语法。