【发布时间】:2022-12-01 01:54:19
【问题描述】:
如何将这两个循环组合在一起?它们都是独立工作的,我怎么能把它们合二为一呢?
from bs4 import BeautifulSoup
with open("games.html", "r") as page:
doc = BeautifulSoup(page, "html.parser")
titles = doc.select("a.title")
prices = doc.select("span.price-inner")
for game_soup in doc.find_all("div", {"class": "game-options-wrapper"}):
game_ids = (game_soup.button.get("data-game-id"))
for title, price_official, price_lowest in zip(titles, prices[::2], prices[1::2]):
print(title.text + ',' + str(price_official.text.replace('$', '').replace('~', '')) + ',' + str(
price_lowest.text.replace('$', '').replace('~', '')))
输出:
110837
Call of Duty: Modern Warfare II (2022),69.99,77.05
我需要同一行中其他值旁边的值 预期输出:
Call of Duty: Modern Warfare II (2022),69.99,77.05,110837
【问题讨论】:
-
遍历文档中的所有元素并使用“if..elif...”块来确定您是否应该更新
game_id或title。但是您可能不会以单个循环结束,而是以各种条件和嵌套循环结束。也许还有一些变量,具体取决于您要抓取的内容。 -
我需要一起运行它们,而不是一个或另一个
-
110837\nCall of Duty: Modern Warfare II (2022)是来自一个标题吗?
标签: python loops web-scraping beautifulsoup