Ваш код работает для меня, более полно (учитывая ваш HTML как html_doc
):
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc)
images = soup.find("div", {"id": ["photos"]}).find_all("a")
for image in images:
print(image['href'].replace("p=main","p=thumb_retina",1))
Однако ваша проблема в том, что текст, возвращаемый requests
с URL-адреса, равен не так же, как образец HTML, который вы даете. Несмотря на вашу попытку предоставить случайный пользовательский агент, сервер возвращает:
<li>You\'re a power user moving through this website with super-human speed.</li>\n <li>You\'ve disabled JavaScript in your web browser.</li>\n <li>A third-party browser plugin, such as Ghostery or NoScript, is preventing JavaScript from running. Additional information is available in this <a title=\'Third party browser plugins that block javascript\' href=\'http://ds.tl/help-third-party-plugins\' target=\'_blank\'>support article</a>.</li>\n </ul>\n </div>\n <p class="we-could-be-wrong" >\n We could be wrong, and sorry about that! Please complete the CAPTCHA below and we’ll get you back on dubizzle right away.
Поскольку CAPTCHA предназначен для предотвращения очистки, я предлагаю уважать пожелания администратора и не очищать его. Может быть, есть API?