1

我需要获取所有 Android 设备的列表,并且为了做到这一点而无需从 Android.com 复制/粘贴每个项目,我认为 Python 脚本会更轻松地完成这项工作。问题是我三天前才开始学习python。

现在,这是我要解析并仅提取<a>每个属性的字符串的 HTML 结构<li>

<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脚本:

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>标签,而不仅仅是字符串。我知道我可以使用该text参数,但我不知道如何与 CSS 选择器一起使用。

4

2 回答 2

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

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

于 2012-08-07T13:39:04.650 回答
-3

尝试使用 XML 解析器,例如 xml.dom.minidom

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

于 2012-08-07T13:40:42.887 回答