BeautifulSoup: невозможно получить текст - PullRequest
1 голос
/ 30 сентября 2019

Я пытаюсь узнать цену товара на eBay.com, но по какой-то причине не могу.

price_BeautifulSoup = bs.find("span", {"id": "prcIsum"}).text
# What the console prints: "<class 'bs4.BeautifulSoup'>"

То, что я пытался:

  • Я пробовал Googling "class 'bs4.BeautifulSoup'".
  • price_BeautifulSoup = bs.find('span', attrs={"id": "prcIsum"}).get_text().strip()

enter image description here

Весь код: https://pastebin.com/Vb5gd7RL

Заранее спасибо. Серьезно.

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

Вы напечатали неправильную переменную:

print("price_BeautifulSoup", ": ", BeautifulSoup,"\n")

Вы хотели:

print("price_BeautifulSoup", ": ", price_BeautifulSoup ,"\n")

Если вы хотели изолированную цену, вы могли бы извлечь атрибут содержимого

bs.select_one('#prcIsum')['content']

Если вы хотите сопоставить вывод списка селена, разделите его на пробел:

print("price_selenium", ": ", price_selenium)
print("price_BeautifulSoup", ": ", price_BeautifulSoup.split(' ') ,"\n")
0 голосов
/ 30 сентября 2019

Попробуйте это:

html = item.body
parsed_html = BeautifulSoup(html)
spans = parsed_html.find('span', attrs={"id": "prcIsum"})
body = spans.string
print(body)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...