Как редактировать содержимое в теге после его извлечения? - PullRequest
0 голосов
/ 03 октября 2019

Я создал программу, которая извлекает названия игр и цены на игры в столбце «Новые и трендовые» на https://store.steampowered.com/. Пока что у меня есть, поэтому названия и цены печатаются вертикально как отдельные списки.

Цены печатаются примерно так:

$11.99
$9.99
$23.99
$34.99
Free To Play
$24.99
$59.99
Free To Play
$13.49
$19.99

Что я хочу сделать, возьмите любую цену со строкой «Free To Play» и замените ее строкой «$ 0.00», чтобы при экспорте вCSV это выглядит более последовательным. Я пытался использовать функцию replace_with() через BeautifulSoup, но у меня не получилось.

from urllib.request import urlopen
from bs4 import BeautifulSoup

my_url = 'https://store.steampowered.com/'
uClient = urlopen(my_url)
page_html = uClient.read()
uClient.close()
page_soup = BeautifulSoup(page_html, "html.parser")

title_containers = page_soup.findAll("div",{"class":"tab_item_name"}, limit=10)
price_containers = page_soup.findAll("div",{"class":"discount_final_price"}, limit=10)
for titles in title_containers:
    print(titles.get_text())
for prices in price_containers:
    print(prices.get_text())

1 Ответ

2 голосов
/ 03 октября 2019

Хотя здесь не используется BeautifulSoup, вы можете просто

...
for prices in price_containers:
    print(prices.get_text().replace('Free To Play', '$0.00'))

...