Я пытаюсь проанализировать данные со страницы с помощью python, который может быть довольно простым, но все данные скрыты под элементами jquery и что затрудняет захват данных. Пожалуйста, простите меня, поскольку я новичок на Python и программирование в целом, так что все еще знакомлюсь с ним. Веб-сайт, который я получаю, это http://www.asusparts.eu/partfinder/Asus/All В One/E Series, поэтому мне просто нужны все данные из E Это код я до сих пор:Анализ содержимого из меню выбора, Python + BeautifulSoup
import string, urllib2, csv, urlparse, sys
from bs4 import BeautifulSoup
changable_url = 'http://www.asusparts.eu/partfinder/Asus/All%20In%20One/E%20Series'
page = urllib2.urlopen(changable_url)
base_url = 'http://www.asusparts.eu'
soup = BeautifulSoup(page)
redirects = []
model_info = []
select = soup.find(id='myselectListModel')
print select.get_text()
options = select.findAll('option')
for option in options:
if(option.has_attr('redirectvalue')):
redirects.append(option['redirectvalue'])
for r in redirects:
rpage = urllib2.urlopen(base_url + r.replace(' ', '%20'))
s = BeautifulSoup(rpage)
print s
sys.exit()
Однако единственная проблема, она просто выводит данные для первой модели, которая Asus-> Все В Одно-> E Series-> ET10B-> AC адаптер. Фактическая страница HTML печатается как following... (выход был слишком длинным - просто вставил необходимый основной выход)
Я не уверен, как я мог бы захватить данные для всех частей серии E, поскольку я предположил, что это все захватит? Также я был бы признателен, если бы какие-либо ответы, которые вы показываете, относятся к текущему методу, который я использую, так как это отвечает ответственному лицу, спасибо.
[EDIT]
Это, как я пытаюсь разобрать HTML:
for r in redirects:
rpage = urllib2.urlopen(urljoin(base_url, quote(r)))
s = BeautifulSoup(rpage)
print s
data = soup.find(id='accordion')
selection = data.findAll('td')
for s in selections:
if(selection.has_attr('class', 'ProduktLista')):
redirects.append(td['class', 'ProduktLista'])
Это ошибка я придумал:
Traceback (most recent call last):
File "C:\asus.py", line 31, in <module>
selection = data.findAll('td')
AttributeError: 'NoneType' object has no attribute 'findAll'
У вас есть 'sys.exit()' * внутри * 'для г в цикле redirects', так что не удивительно, только первая модель страница. Начните с использования 'sys.exit()'. –
С помощью 'sys.exit()' удаленный ваш скрипт выводит все страницы. –