Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
22 / 16 / 7
Регистрация: 20.07.2010
Сообщений: 264

Почему не парсит конкретный сайт?

08.04.2020, 23:45. Показов 4370. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Учусь. Для практики сделал анализатор тайтлов.
открывается файл, запускается функция, которая парсит метатеги сайтов по урлам из файла, затем их анализирует и выдает в csv файл результат

Парсится таким образом:
Python
1
2
3
4
5
6
import requests
import lxml.html
 
resp = requests.get(url)
root = lxml.html.fromstring(resp.text)
title = root.xpath("//title/text()")
а дальше всякие действия.

около 9 сайтов пропарсило как надо, а вот на 1 сайте выдает следующее:

Это какая-то защита от парсинга? Или не хватает чего-то? или что это?
Traceback (most recent call last):
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\urllib3\connectionpool.py", line 672, in urlopen
chunked=chunked,
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\urllib3\connectionpool.py", line 376, in _make_request
self._validate_conn(conn)
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\urllib3\connectionpool.py", line 994, in _validate_conn
conn.connect()
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\urllib3\connection.py", line 360, in connect
ssl_context=context,
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\urllib3\util\ssl_.py", line 370, in ssl_wrap_socket
return context.wrap_socket(sock, server_hostname=server_hostname)
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\ssl.py", line 423, in wrap_socket
session=session
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\ssl.py", line 870, in _create
self.do_handshake()
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\ssl.py", line 1139, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\requests\adapters.py", line 449, in send
timeout=timeout
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\urllib3\connectionpool.py", line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\urllib3\util\retry.py", line 436, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.angstrem-mebel.ru', port=443): Max retries exceeded with url: /catalog/tables_and_chairs/?sort=SORT.asc (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:/python/my_dz6_check_title3.py", line 14, in <module>
url_rezult=check_title(url,keyword)
File "C:\python\my_dz3_check_title_short. py", line 9, in check_title
resp = requests.get(url)
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\requests\sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\requests\sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "C:\Users\me\AppData\Local\Programs\Pyth on\Python37\lib\site-packages\requests\adapters.py", line 514, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='www.angstrem-mebel.ru', port=443): Max retries exceeded with url: /catalog/tables_and_chairs/?sort=SORT.asc (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)')))

Process finished with exit code 1
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.04.2020, 23:45
Ответы с готовыми решениями:

Почему не парсит XPath в яндексе?
почему-то не парсятся заголовки в результатах поиска яндекса. Может из-за вложенных тегов b? &lt;div...

Не парсит сайт
Всем привет, столкнулась с проблемой не возможности пропарсить сайт, http://anoik.is/wormholes/H121, пробовала запросом get хотя бы...

Парсит сайт не полностью
Есть код #include &lt;string&gt; #include &lt;iostream&gt; #include &quot;curl/curl.h&quot; ...

4
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
08.04.2020, 23:49
nikki4, какой сайт хоть? Больше всего похоже на неправильный SSL certificate
0
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
09.04.2020, 01:32
Как я понял, такая ошибка возникает, когда ты пытаешься отправить запрос на сайт http://somesite.com,
а тот, в свою очередь, редиректит на https://somesite.com. И тут возникает трабл.
https://github.com/urllib3/urllib3/issues/869

Добавлено через 1 минуту
Цитата Сообщение от DobroAlex Посмотреть сообщение
какой сайт хоть?
вот этот, судя по всему

Цитата Сообщение от nikki4 Посмотреть сообщение
requests.exceptions.SSLError: HTTPSConnectionPool(host='www.angstrem-mebel.ru', port=443): Max retries exceeded with url: /catalog/tables_and_chairs/?sort=SORT.asc (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)')))
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.04.2020, 10:58
Проверку сертификатов можно отключить. verify=False, вроде.
1
35 / 32 / 16
Регистрация: 21.01.2014
Сообщений: 102
09.04.2020, 18:12
Лучший ответ Сообщение было отмечено nikki4 как решение

Решение

Да, попробуйте отключить проверку сертификата. Вот так:
Python
1
resp = requests.get(url, verify=False)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2020, 18:12
Помогаю со студенческими работами здесь

Не понимаю почему не парсит
Не как не могу спарсить конкретный сайт, почему? помогите плиз $ch = curl_init(); $options = array( ...

Почему CURL не парсит ASCII ?
Добрый день, подскажите, пожалуйста, почему curl не хочет парсить код HTML страницы с кодировкой ASCII ?

Не парсит jQuery.parseJSON, не пойму почему
Здравствуйте, у меня учебная задача подгружать при прокрутке контент, типа стены в контакте. Не понимаю почему не парсит JSON.parse? Вот...

Почему bs4 неверно парсит страницу?
Доброго времени суток, пытаюсь спарсить аватарку вконтакте, в качестве примера взяла Павла Дурова, часть кода следующая: import bs4 ...

Программа, которая заходит на сайт, авторизуется и парсит информацию с сайта
Добрый вечер. Нужна программа, которая заходит на сайт, авторизируется и парсит информацию с сайта, такую как картинку текст и ссылку на...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru