2010-04-15 34 views
9

Tôi có thể tải trang html bằng cách sử dụng urllib và sử dụng BeautifulSoup để phân tích trang html và có vẻ như tôi phải tạo tệp để đọc từ BeautifulSoup.Sử dụng urllib và BeautifulSoup để truy xuất thông tin từ web với Python

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

Có cách nào để gọi cho BeautifulSoup mà không tạo tệp từ urllib không?

Trả lời

18
from BeautifulSoup import BeautifulSoup 

soup = BeautifulSoup(htmlSource) 

Không cần ghi tệp: Chỉ cần chuyển vào chuỗi HTML. Bạn cũng có thể chuyển đối tượng được trả lại từ urlopen trực tiếp:

f = urllib.urlopen("http://SOMEWHERE") 
soup = BeautifulSoup(f) 
Các vấn đề liên quan