Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 9, 2015 17:09:21

IRiot
Зарегистрирован: 2015-03-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

Вываливается с ошибкой

    
mt = soup.find('div', id='article_full_text')
print(mt)
UnicodeEncodeError: 'charmap' codec can't encode character '\xa9' in position 46
4: character maps to <undefined>
Отрабатывает отлично:
mt = soup.find('div', 'article_lead', itemprop = 'description')
print(mt)

Офлайн

#2 Апрель 9, 2015 17:15:46

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

а весь скрипт можешь показать?



Офлайн

#3 Апрель 9, 2015 17:20:10

IRiot
Зарегистрирован: 2015-03-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

import urllib.request
import re
from bs4 import BeautifulSoup
def GetPage():
    site = urllib.request.urlopen('http://ria.ru/').read()
    soup = BeautifulSoup(site)
    mt = soup.find('div', 'mt-news')
    link = mt.find('a')
    url = link.get('href')
    return url
def ParsPage(url):
    site = urllib.request.urlopen('http://ria.ru' + url).read()
    soup = BeautifulSoup(site)	
	
    mt = soup.find('h1', 'article_header_title', itemprop = 'name')
    p = re.compile(r'<.*?>')
    p.sub('', mt.string)
    article_header_title = mt.string + '.'
	
    mt = soup.find('div', 'article_lead', itemprop = 'description')
    article_lead = mt.string
    mt = soup.find('div', id='article_full_text')
    article_full_text = mt.string
    print('article_header_title: ' + article_header_title)
    print('article_lead: ' + article_lead)
    print(article_full_text)
ParsPage(GetPage())
input('\nDone!')

Отредактировано IRiot (Апрель 9, 2015 17:20:55)

Офлайн

#4 Апрель 9, 2015 17:51:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

mt.string - не стринг, а text

!!!!!!!!!!!!!



Офлайн

#5 Апрель 9, 2015 17:53:35

IRiot
Зарегистрирован: 2015-03-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

Проблема состоит не в этом. Но, спасибо за поправку Не выводит:

mt = soup.find('div', id='article_full_text')
print(mt)
Выводит:
mt = soup.find('div', 'article_lead', itemprop = 'description')
print(mt)

Отредактировано IRiot (Апрель 9, 2015 17:58:32)

Офлайн

#6 Апрель 9, 2015 17:58:53

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

IRiot
Проблема состоит не в этом. Но, спасибо за поправку
как сказать



Офлайн

#7 Апрель 9, 2015 18:05:27

IRiot
Зарегистрирован: 2015-03-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

Отредактировано FishHook (Апрель 9, 2015 18:10:44)

Офлайн

#8 Апрель 9, 2015 18:09:42

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

Ах тут виндовз! Ну тогда, я не знаю чем помочь.



Офлайн

#9 Апрель 9, 2015 18:10:38

IRiot
Зарегистрирован: 2015-03-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

Все равно спасибо большое Буду рыть дальше… Я думал у python есть совместимость кода, то что работает на других ос, должно работать и на windows. И еще, python у меня 3.4, а вы как я заметил работаете с 2.7, может ли это влиять?

Отредактировано IRiot (Апрель 9, 2015 18:31:51)

Офлайн

#10 Апрель 9, 2015 22:23:20

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

soup.find не находит данные. парсинг.

IRiot
windows 8.1 python3.4

Отредактировано sander (Апрель 9, 2015 22:24:03)

Прикреплённый файлы:
attachment Снимок-2.PNG (7,4 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version