BeautifulSoup и Amazon.co.ukPython

Программы на Python
Ответить
Anonymous
 BeautifulSoup и Amazon.co.uk

Сообщение Anonymous »

Я пытаюсь проанализировать Amazon, чтобы составить список цен, в рамках более крупного проекта, связанного со статистикой. Однако я в тупике. Мне было интересно, сможет ли кто-нибудь просмотреть мой код и сказать, где я ошибся?

Код: Выделить всё

#!/usr/bin/python
# -*- coding:  utf-8 -*-
import mechanize
from bs4 import BeautifulSoup

URL_00 = "http://www.amazon.co.uk/Call-Duty-Black-Ops-PS3/dp/B007WPF7FE/ref=sr_1_2?ie=UTF8&qid=1352117194&sr=8-2"

bro = mechanize.Browser()
resp = bro.open(URL_00)
html = resp.get_data()
soup_00 = BeautifulSoup(html)
price = soup_00.find('b', {'class':'priceLarge'})
print price #this should return at the very least the text enclosed in a tag
Согласно скриншоту, то, что я написал выше, должно работать, не так ли?
Изображение

Ну все, что я получаю в распечатке, это "[]", если я изменю предпоследнюю строку на эту:

Код: Выделить всё

 price = soup_00.find('b', {'class':'priceLarge'}).contents[0].string
или

Код: Выделить всё

price = soup_00.find('b', {'class':'priceLarge'}).text
Я получаю ошибку «noneType».
Я совершенно не понимаю, почему это происходит. Кодировка страницы в URL-адресе Chrome указывает UTF8, для которой мой скрипт настроен в строке № 2.
Я изменил ее на ISO (согласно внутреннему HTML-коду страницы), но это не имеет никакого значения, поэтому я положительная кодировка здесь не проблема.
Кроме того, не знаю, актуально ли это вообще, но моя системная локаль в Linux - UTF-8, не должна вызывать проблем, не так ли?

Подробнее здесь: https://stackoverflow.com/questions/132 ... azon-co-uk
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»