Разбор HTML-ссылок с использованием BeautifulSoup

вот мой код Python, который я использую, чтобы извлечь конкретный HTML из ссылок страницы, которые я отправляю в качестве параметра. Я использую BeautifulSoup . Этот код отлично работает, иногда, и иногда он застревает!

import urllib from bs4 import BeautifulSoup rawHtml = '' url = r'http://iasexamportal.com/civilservices/tag/voice-notes?page=' for i in range(1, 49): #iterate url and capture content sock = urllib.urlopen(url+ str(i)) html = sock.read() sock.close() rawHtml += html print i 

Здесь я печатаю переменную цикла, чтобы узнать, где она застревает. Это показывает мне, что он случайно застревает в любой последовательности цикла.

 soup = BeautifulSoup(rawHtml, 'html.parser') t='' for link in soup.find_all('a'): t += str(link.get('href')) + "</br>" #t += str(link) + "</br>" f = open("Link.txt", 'w+') f.write(t) f.close() 

какова может быть проблема. Это проблема с конфигурацией сокета или какой-то другой проблемой.

Это ошибка, которую я получил. Я проверил эти ссылки – python-gaierror-errno-11004 , ioerror-errno-socket-error-errno-11004-getaddrinfo-failed для решения. Но я не нашел его полезным.

  d:\python>python ext.py Traceback (most recent call last): File "ext.py", line 8, in <module> sock = urllib.urlopen(url+ str(i)) File "d:\python\lib\urllib.py", line 87, in urlopen return opener.open(url) File "d:\python\lib\urllib.py", line 213, in open return getattr(self, name)(url) File "d:\python\lib\urllib.py", line 350, in open_http h.endheaders(data) File "d:\python\lib\httplib.py", line 1049, in endheaders self._send_output(message_body) File "d:\python\lib\httplib.py", line 893, in _send_output self.send(msg) File "d:\python\lib\httplib.py", line 855, in send self.connect() File "d:\python\lib\httplib.py", line 832, in connect self.timeout, self.source_address) File "d:\python\lib\socket.py", line 557, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): IOError: [Errno socket error] [Errno 11004] getaddrinfo failed 

Он работает отлично, когда я запускаю его на своем личном ноутбуке. Но он дает ошибку, когда я запускаю его на рабочем столе Office. Кроме того, моя версия Python – 2,7. Надеюсь, эта информация поможет.

One Solution collect form web for “Разбор HTML-ссылок с использованием BeautifulSoup”

Наконец, ребята …. Это сработало! Тот же скрипт работал, когда я также проверял другие ПК. Вероятно, проблема связана с настройками брандмауэра или настройками прокси-сервера моего рабочего стола. который блокировал этот сайт.

  • Python regex конвертирует URL-адрес youtube в YouTube
  • Как проверить URL-адрес либо ссылку на веб-страницу, либо ссылку на файл в python
  • Вывод регулярного выражения Python vimeo id из url
  • Заменить URL-адрес ссылкой с помощью регулярного выражения в python
  • Django 1.4 - перенаправление на не-HTTP-адреса
  • Итерация через url с помощью строк - python
  • Разбор пользовательских URI с urlparse (Python)
  • Статический URL-адрес в cherrypy
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.