在python中使用beautifulsoup获取<li>标签的内容

时间:2015-08-16 18:53:00

标签: python html beautifulsoup

我希望获得<li>标记后的前3个<section>标记的内容,我不知道如何操作BeautifulSoap中的子标记,我试图将此文本和然后通过拆分获得我想要的东西但是我没有成功。

这是HTML代码:

<section class="l-map">
                                    <ul>
                                        <li>خیابان شریعتی، روبروی پارک کوروش، کوچه پیروز، پلاک 48 </li>
                                        <li>22855157 22852085</li>
                                        <li>شریعتی:قلهک، سید خندان

                                    </li>
                                    </ul>
                                    <div class="foot">
                                        <a class="dm fancy" href="#contact" id="inline">پیام مستقیم به مدیر</a>
                                        <a class="rm" href="#phonenumber" id="inline">دریافت پیامکی اطلاعات</a>
                                    </div>
                                    <input id="IsMaximumSmsReached" name="IsMaximumSmsReached" value="False" type="hidden">
                                    <div style="display:none">
                                        <div id="phonenumber">
                                            <div class="contact-form number">
                                                <h1>
                                                    دریافت پیامکی اطلاعات
                                                    <i class="icon contact"></i>
                                                </h1>
                                                <p>
                                                    شماره تلفن همراه خود را وارد کنید.
                                                </p>
                                                <form id="sendSMS">
                                                    <div class="form-input">
                                                        <input id="cellphone" name="cellphone" placeholder="برای مثال. 09121112222" type="text">  
                                                    </div>
                                                    <div class="form-submit">
                                                        <button type="submit" href="#" class="submit">ارسال</button>
                                                    </div>
                                                    <p class="alert-box"></p>
                                                </form>
                                            </div>
                                        </div>
                                    </div>
                                    <div style="display:none">
                                        <div id="contact">
                                            <div class="contact-form">
                                                <h1>
                                                    ارسال پیام به مدیریت رستوران
                                                    <i class="icon message"></i>
                                                </h1>
                                                <p>
                                                    در این بخش شما می توانید به صورت مستقیم به مدیریت رستوران پیام ارسال نمایید.
                                                    <br>
                                                    پیام خود را در زیر بنویسید و ارسال نمایید.
                                                </p>
                                                <form id="managerMessage">
                                                    <div class="form-input">
                                                        <input id="MessageSenderName" name="MessageSenderName" placeholder="نام شما (اختیاری)"> 
                                                        <input id="MessageSenderPhone" name="MessageSenderPhone" placeholder="تلفن تماس شما (اختیاری)"><br>
                                                        <input id="MessageSenderEmail" name="MessageSenderEmail" placeholder="ایمیل شما (اختیاری)"><br>
                                                        <textarea id="MessageToManager" name="MessageToManager" placeholder="پیام"></textarea>
                                                    </div>
                                                    <div class="form-submit">
                                                        <button type="submit" href="#" class="submit">ارسال</button>
                                                    </div>
                                                    <p class="alert-box"></p>
                                                </form>
                                            </div>
                                        </div>
                                    </div>
                                </section>

我只需使用以下代码行访问整个<section>代码:

address = soup.find('section', class_="l-map")

我感谢你给我的每一个帮助或评论:)

1 个答案:

答案 0 :(得分:3)

您可以使用li功能查找section中的所有.text组件,然后使用.get_text()属性或方法获取其文本 - { {1}}。示例 -

>>> for lis in address.find_all('li'):
...     print(lis.get_text())
...
<first li text>
22855157 22852085
<third li text>