Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/47: Рейтинг темы: голосов - 47, средняя оценка - 4.72
1 / 1 / 0
Регистрация: 22.11.2016
Сообщений: 12

Парсинг сайта BeautifulSoup

23.11.2016, 08:09. Показов 9975. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Самостоятельно занимаюсь изучением языка Python.
Решил написать примитивный парсер сайта, используя библиотеку BeautifulSoup, мало того это код из видеоурока.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding: utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup
 
 
def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read()
 
def parse(html):
    soup = BeautifulSoup(html, 'html.parser')
    table = soup.find('div', {"class": "Search-result-item"})
    print(table)
 
def main():
    parse(get_html('https://www.fabrikant.ru/trades/procedure/search/'))
 
if __name__ == "__main__":
    main()
и получаю такой эксепт:
Code
1
2
3
4
5
6
7
8
9
10
11
12
Traceback (most recent call last):
  File "D:\python\Parser\Parser.py", line 19, in <module>
    main()
  File "D:\python\Parser\Parser.py", line 16, in main
    parse(get_html('https://www.fabrikant.ru/trades/procedure/search/'))
  File "D:\python\Parser\Parser.py", line 13, in parse
    print(table)
  File "C:\Users\UN\AppData\Local\Programs\Python\Python35-32\lib\encodings
\cp866.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xab' in position 33
7: character maps to <undefined>
Понятно что, что то с кодировкой, но не ясно, как победить, гугл не дал результатов.

Добавлено через 18 часов 27 минут


UPD: Пока сам придумал обходной маневр обозвав переменную str типом данных.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2016, 08:09
Ответы с готовыми решениями:

Парсинг форума через BeautifulSoup - Python
Самостоятельно занимаюсь изучением языка Python. Решил написать примитивный парсер сайта, используя библиотеку BeautifulSoup это код из...

Парсинг страницы python и получение запроса (beautifulSoup, requests)
Здравствуйте. Суть проблемы заключается в том, что для парсинга я получаю страницу, где должна быть таблица с данными, но в print(r.text)...

Парсинг BeautifulSoup
Добрый день. Имеется веб страница из которой нужно спарсить даты, имена и комментарии в формате: 23 мар. UserName: комментарий 24 мар....

27
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
07.12.2016, 16:27
Студворк — интернет-сервис помощи студентам
Garry Galler, согласен, не заметил, что там есть относительные ссылки, проверил только одну первую и успокоился
Цитата Сообщение от KindlY Посмотреть сообщение
А можно как то топик перенести в др. раздел, наверно в общий, так как тут уже не только по парсингу вопросы есть, и ответы в том числе?
один вопрос - одна тема.
0
1 / 1 / 0
Регистрация: 22.11.2016
Сообщений: 12
07.12.2016, 17:28  [ТС]
Тогда надо закрыть топик как решенный!
Спасибо.
0
2 / 2 / 0
Регистрация: 23.06.2017
Сообщений: 72
22.07.2017, 20:04
Извиняюсь влез в чужую тему, но у меня проблема тоже с парсингом:
Хотел попробовать вывести прочтенный код сайта в ответ в IDE белый экран ошибок нет (питон 3):

import urllib.request
from bs4 import BeautifulSoup

def get_html(url):
response = urllib.request.urlopen(url)
return response.read
def main():

get_html('http://getwall.ru/')

main()
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
22.07.2017, 20:31
А в каком месте кода вы его выводите?
P.S. Можете не отвечать - ни в каком.
0
2 / 2 / 0
Регистрация: 23.06.2017
Сообщений: 72
22.07.2017, 20:41
def get_html(url):
response = urllib.request.urlopen(url)
return response.read()

Добавлено через 35 секунд
Цитата Сообщение от DarkChirik Посмотреть сообщение
response = urllib.request.urlopen(url)
return response.read()
Вот, а как тогда надо?
0
Эксперт Python
 Аватар для АмигоСП
295 / 108 / 57
Регистрация: 07.12.2016
Сообщений: 209
22.07.2017, 21:35
DarkChirik, У вас запускается main(). Она в свою очередь запускает get_html(). get_html отрабатывает и возвращает результат( если объяснять "на двух пальцах", то всё это происходит в фоновом режиме). С возвращенном результатом вы ничего не делаете и программа завершается. Чтобы визуально что-то увидеть, используйте хотя бы функцию print()
0
2 / 2 / 0
Регистрация: 23.06.2017
Сообщений: 72
22.07.2017, 21:45
print(get_html('http://getwall.ru/'))
также ничего не показывает на экране
0
Эксперт Python
 Аватар для АмигоСП
295 / 108 / 57
Регистрация: 07.12.2016
Сообщений: 209
22.07.2017, 22:14
Python
1
2
3
4
5
6
7
8
9
10
import urllib.request as get
from bs4 import BeautifulSoup
 
def get_html(url):
    response = get.urlopen(get.Request(url, headers={'User-Agent': 'Mozilla/5.0'}))
    return response.read().decode('utf-8')
def main():
    print(get_html('http://getwall.ru/'))
 
main()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.07.2017, 22:14

Парсинг, beautifulsoup, некорректная HTML разметка
Доброго времени суток! Изучаю парсинг сайтов. Beautifulsoup, lxml. Столкнулся с такой проблемой: при обращении к странице получаю...

Парсинг на Python. BeautifulSoup, bs4, requests
Добрый день. Нужна помощь от людей, кто работал с BeautifulSoup на Python. Пытаюсь получить со страницы проверки QR кода на ГосУслугах дату...

Парсинг youtube - получить колличество лайков, дизлайков. requests, beautifulsoup
Всем привет! Столкнулся с проблемой при парсинге с ютуб. Пытаюсь получить доступ к div: import requests from bs4 import...

Создание карты сайта и парсинг определенного раздела сайта
Здравствуйте! Мне необходимо пропарсить раздел сайта, предварительно создав карту сайта и извлечь некоторую информацию. Т.е. мне надо...

Парсинг данных с сайта или страницы сайта
Здравствуйте, добрые люди! Есть задача спарсить данные с страницы соц сети. Или просто со страницы с помощью js. На пхп не предлагать....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru