BeautifulSoup HTMLParseError - PullRequest
       3

BeautifulSoup HTMLParseError

4 голосов
/ 23 марта 2012

У новичка в Python есть простой ситуационный вопрос:

Попытка использовать BeautifulSoup для анализа серии страниц.

from bs4 import BeautifulSoup
import urllib.request

BeautifulSoup(urllib.request.urlopen('http://bit.ly/'))

Traceback ...

html.parser.HTMLParseError: expected name token at '<!=KN\x01...

Работа в 64-битной Windows 7 с Python 3.2.

Нужна ли мне механизация?(что повлечет за собой Python 2.X)

Ответы [ 4 ]

24 голосов
/ 23 марта 2012

Если этот URL-адрес правильный, вы спрашиваете, почему анализатор HTML выдает ошибку при разборе файла MP3.Я считаю, что ответ на этот вопрос очевиден ...

4 голосов
/ 31 августа 2012

Если вы пытаетесь скачать этот MP3, вы можете сделать что-то вроде этого:

import urllib2

BLOCK_SIZE = 16 * 1024

req = urllib2.urlopen("http://bit.ly/xg7enD") 
#Make sure to write as a binary file
fp = open("someMP3.mp3", 'wb')
try:
  while True:
    data = req.read(BLOCK_SIZE)
    if not data: break
    fp.write(data)
finally:
  fp.close()
0 голосов
/ 01 февраля 2017

вместо urllib.request я предлагаю запросы на использование, и из этой библиотеки используйте get ()

from requests import get
from bs4 import BeautifulSoup

soup = BeautifulSoup(
       get(url="http://www.google.com").content, 
       'html.parser'
)
0 голосов
/ 07 февраля 2016

если вы хотите скачать файл в Python, вы можете использовать это также

import urllib
urllib.urlretrieve("http://bit.ly/xg7enD","myfile.mp3")

, и он сохранит ваш файл в текущем рабочем каталоге с именем «myfile.mp3». Я могу загружать все типы файлов через него.

надеюсь, что это может помочь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...