[Что я пытаюсь сделать]
Найдите на указанной ниже веб-странице данные об использованных автомобилях.
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. Я искал полезную информацию в Google, но не нашел.
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 (Затмение)
- BeautifulSoup4
Любое руководство будет оценено. Спасибо.