我需要获取所有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选择器。
答案 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解析器。
我不记得语法,但它很容易使用。