Как очистить динамические веб-страницы от Python

все.

[Что я пытаюсь сделать]

Очистите веб-страницу ниже для данных подержанных автомобилей.
http://www.goo-net.com/php/search/summary.php?price_range=&pref_c=08,09,10,11,12,13,14&easysearch_flg=1

[Проблема]

Очистить все страницы. В приведенном выше URL показаны только первые 30 пунктов. Они могут быть очищены кодом, который я написал. Ссылки на другие страницы отображаются как 1 2 3 … но адреса ссылок, похоже, находятся в Javascript. Я googled для полезной информации, но не мог найти.

from bs4 import BeautifulSoup import urllib.request html = urllib.request.urlopen("http://www.goo-net.com/php/search/summary.php?price_range=&pref_c=08,09,10,11,12,13,14&easysearch_flg=1") soup = BeautifulSoup(html, "lxml") total_cars = soup.find(class_="change change_01").find('em').string tmp = soup.find(class_="change change_01").find_all('span') car_start, car_end = tmp[0].string, tmp[1].string # get urls to car detail pages car_urls = [] heading_inners = soup.find_all(class_="heading_inner") for heading_inner in heading_inners: href = heading_inner.find('h4').find('a').get('href') car_urls.append('http://www.goo-net.com' + href) for url in car_urls: html = urllib.request.urlopen(url) soup = BeautifulSoup(html, "lxml") #title print(soup.find(class_='hdBlockTop').find('p', class_='tit').string) #price of car itself print(soup.find(class_='price1').string) #price of car including tax print(soup.find(class_='price2').string) tds = soup.find(class_='subData').find_all('td') # year print(tds[0].string) # distance print(tds[1].string) # displacement print(tds[2].string) # inspection print(tds[3].string) 

[Что я хотел бы знать]

Как очистить все страницы. Я предпочитаю использовать BeautifulSoup4 (Python). Но если это не подходящий инструмент, пожалуйста, покажите мне другие.

[Мое окружение]

  • Windows 8.1
  • Python 3.5
  • PyDev (Eclipse)
  • BeautifulSoup4

Любые рекомендации будут оценены. Спасибо.

2 Solutions collect form web for “Как очистить динамические веб-страницы от Python”

вы можете использовать селен, как показано ниже:

 from selenium import webdriver driver = webdriver.Firefox() driver.get('http://example.com') element = driver.find_element_by_class_name("yourClassName") #or find by text or etc element.click() 

Осколок модуля python может быть хорошей отправной точкой. Он вызывает внешний браузер (например, Firefox) и получает доступ к DOM браузера, а не только к HTML.

  • Извлечение изображения src на основе атрибута с помощью BeautifulSoup
  • Захват элементов с помощью селектора в скрипте python
  • селен не выполняет итерацию по элементам
  • Каков правильный синтаксис, чтобы следовать ссылке, используя beautifulsoup & запросы в приложении django?
  • Очистить с помощью красивого супа, сохраняющего & nbsp; юридические лица
  • Python BeautifulSoup scrape tables
  • как очистить iframe, который не отображается непосредственно в BeautifulSoup и требует использования селена?
  • Загрузка большего содержимого на веб-страницу и проблемы с записью в файл
  • Python - лучший язык программирования в мире.