python爬网数据类名包含一些类名

2024-06-01 22:08:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写python程序来抓取数据,有些项的类是“\u 3pw9\u 2pi4\u 2ge8”,有些项的类是“\u 3pw9\u 2pi4\u 2ge8\u 3ms8”,我想抓取类名包含“\u 3pw9\u 2pi4\u 2ge8”的数据,并包含类名为“\u 3pw9\u 2pi4\u 2ge8\u 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")

但是,只有类名为“\u 3pw9\u 2pi4\u 2ge8”的项被爬网,类名为“\u 3pw9\u 2pi4\u 2ge8\u 3ms8”的项没有被爬网

你能告诉我原因和怎么写这个程序吗


Tags: 数据程序dividbasicmainhtmlpage
1条回答
网友
1楼 · 发布于 2024-06-01 22:08:35

我知道您的问题是需要对类名包括“\u 3pw9\u 2pi4\u 2ge8”的所有项进行爬网。你知道吗

如果这是真的,你应该考虑把最后一行改成

soup_user_basic_main_frame.find_all("li",class*= "_3pw9 _2pi4 _2ge8")

注意,我将class后面的下划线改为星号,这是“name contains”的正式语法。你知道吗

相关问题 更多 >