Использование urllib и BeautifulSoup для получения информации из Интернета с помощью Python - PullRequest
10 голосов
/ 15 апреля 2010

Я могу получить html-страницу, используя urllib, и использовать BeautifulSoup для анализа html-страницы, и похоже, что мне нужно сгенерировать файл для чтения из BeautifulSoup.

import urllib                                       
sock = urllib.urlopen("http://SOMEWHERE") 
htmlSource = sock.read()                            
sock.close()                                        
--> write to file

Есть ли способ вызвать BeautifulSoup без генерации файла из urllib?

1 Ответ

20 голосов
/ 15 апреля 2010
from BeautifulSoup import BeautifulSoup

soup = BeautifulSoup(htmlSource)

Запись в файл не требуется: просто передайте строку HTML. Вы также можете передать объект, возвращенный из urlopen напрямую:

f = urllib.urlopen("http://SOMEWHERE") 
soup = BeautifulSoup(f)
...