Я использую Beautiful Soup 4 для получения различных результатов с веб-страницы. В настоящее время я пытаюсь обработать список URL-адресов и заставить BS выйти и получить div с этих страниц и сохранить его в новом списке. Я успешен в этом. Следующим шагом было бы получить текстовый результат div, но заставить его успешно перебрать этот список и дополнительно уточнить результаты для меня не удачно.
В итоге я получаю список с именем dealcomments
, в котором я пытаюсь перебрать значения индекса, выполняя текст сделки [i] .find ('a'). Я просто не уверен, как дальше обрабатывать список, чтобы уточнить его.
def getDealComments(deallinks):
dealcomments = []
# Can't modify dealcomments to get plain text :~(
for index,link in enumerate(deallinks):
source = requests.get(link).text
soup = BeautifulSoup(source, 'lxml')
dealcomments.append(soup.find_all('div', class_='posttext'))
print(len(dealcomments))
return dealcomments
Это успешно сгенерирует список из 80 предметов, но я не могу найти способ перенести это уточнение в текст.
Если я запускаю:
print(dealcomments.find('a').text)
в основной функции, это дает ошибку.
Ниже приведен пример div «posttext», который я получаю:
[<div class="posttext" style="margin:20px 0px 10px 0px;display:block;margin-bottom:50px;"><a href="/j/4/?pid=1494475&lno=1&tid=11000&afsrc=1" target="_blank">Amazon</a> has All-new Kindle Paperwhite Now Waterproof on sale. Shipping is free.
<ul>
<li><a href="/j/4/?pid=1494475&lno=1&tid=11000&afsrc=1" target="_blank">All-new Kindle Paperwhite (8GB)</a> for <b>$89.99</b></li>
<li><a href="/j/4/?pid=1494475&lno=2&tid=11000&afsrc=1" target="_blank">All-new Kindle Paperwhite (32GB)</a> for <b>$114.99</b></li>
<li><a href="/j/4/?pid=1494475&lno=3&tid=11000&afsrc=1" target="_blank">All-new Kindle - Now with a Built-in Front Light</a> <b>$65</b></li>
<li><b>YMMV</b>: 15% off a Kindle Paperwhite + $20 ebook credit with promo code "<strong>READKINDLE00</strong>".
Я пытаюсь получить весь читаемый текст в div «posttext».