В учебных целях пытаюсь парсить сайт автообъявлений https://ab.onliner.by, цель парсинга получить ссылки на авто, ссылка выглядит как "https://ab.onliner.by/car/ID". При анализе сайта через браузер четко видно, что вожделенный ID машины обитает внутри тега:
<a href="/car/4164123"><img width="80" height="80" src="https://content.onliner.by/automarket/2218487/80x80/496c37de7ec4ec3eabf6eb66e6c9bb24.jpeg"></a>
Проблема в том, что в возвращаемом HTML коде этого тега нет
import requests
from bs4 import BeautifulSoup
def get_html(url):
response = requests.get(url)
return response.text
print(get_html('https://ab.onliner.by'))
Собственно возникает вопросы что упускаю/не так делаю?
Для загрузки страницы со скриптами используйте пакет Selenium вместе с Chrome или Firefox.
from selenium import webdriver
import time
chrome_driver = 'C:/Tools/ChromeDriver/chromedriver.exe'
chrome_options = webdriver.ChromeOptions()
driver = webdriver.Chrome(executable_path=chrome_driver, options=chrome_options)
driver.get('https://ab.onliner.by')
# Таймаут, чтобы JS успели отработать.
# Использование time.sleep - это грубый и не очень надёжный подход
# Лучше почитать и использовать Expected Conditions из того же Selenium
# from selenium.webdriver.support.ui import WebDriverWait
# from selenium.webdriver.support import expected_conditions as EC
time.sleep(5)
print(driver.page_source)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть условный рисунок внутри picturebox,к примеру
Сделал парсер json на одном сайте, теперь мне нужно реализовать список в richTextBox1 ссылок, откуда парсить и выводить все полученные данные в richTextBox2