使用python和bs进行HTML解析

时间:2012-08-07 13:35:58

标签: python html-parsing

我需要获取所有Android设备的列表,为了在不复制/粘贴Android.com中的每个项目的情况下执行此操作,我认为Python脚本可以更轻松地完成工作。问题是我三天前才开始学习python。

现在,这是我要解析的HTML结构,只提取每个<a>的{​​{1}}属性的字符串。

<li>

这是我使用的python脚本:

<html>
    <head>
    <body>
        <div id="header">
        <div class="main">
            <div class="listing">
                <form id="listing" class="">
                    <ul>
                        <li>
                            <p>
                                <a class="title" href="/devices/detail/xperia-p">Xperia™ P</a>
                            </p>
                        </li>

显然,在此设置中,我获得了所有Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) import requests from bs4 import BeautifulSoup session = requests.session() req = session.get('http://www.android.com/devices/?country=all&f=phone') soup = BeautifulSoup(req.content) print soup.findAll("a", "title") 标记,而不仅仅是字符串。我知道我可以使用<a>参数,但我不知道如何使用CSS选择器。

2 个答案:

答案 0 :(得分:2)

for a in soup.findAll("a", "title"):
    print a.get_text()

http://www.crummy.com/software/BeautifulSoup/bs4/doc/#get-text

答案 1 :(得分:-3)

尝试使用xml.dom.minidom等XML解析器。

我不记得语法,但它很容易使用。