【发布时间】:2014-11-23 23:55:15
【问题描述】:
Python 2.7.6 + BeautifulSoup 4 + 在这里请求新手。
我的问题涉及搜索 div 类的内容,例如 on this site。 当每列包含信息时,我只想使用一行的内容。 我能够编写一段代码来提取燃料价格的 div 类的内容(在网站上是第 1 列)。有时,最先列出的加油站已关闭,没有价格出现。所以我的代码会抓取第一个实际包含价格的 div。
pricediv = soup.find("div", {"class": "price"})
price = pricediv.text
接下来,我想获取我从中提取价格的加油站的名称和地址,它们包含在另外两个 div 类中。我该怎么做
location = soup.find("div", {"class": "location_name"})
从包含我之前提取的gas价格的div类的位置开始搜索?否则,如果前两个加油站关闭,我的变量 pricediv 将包含第三个加油站的汽油价格。但是,如果我运行代码来查找位置(如上),它将返回第一个位置(关闭的 1 号加油站)。所以我希望它在价格 div 之后立即开始寻找位置 div。
我希望我明确了我在寻找什么,并且有人可能会给我一些提示。提前致谢!
【问题讨论】:
-
我认为你想要的是
find_all而不是find,你的链接也给了我一个 501 错误 -
感谢您的回答,@PadraicCunningham,我使用“查找”是因为我只想使用列表中的第一个(因此也是最便宜的)价格。
标签: python html python-2.7 beautifulsoup python-requests