Hướng dẫn install beautifulsoup python - cài đặt python xinh đẹp
Beautiful Soup 4
Bạn muốn parse HTML, XML hay đơn giản là muốn scraping dữ liệu từ một website nào đó với ngôn ngữ Python? Trên Viblo cũng có một số bài của Anh Tranngoc về Scraping và Crawling dữ liệu từ một website nào đó với module Scrapy như: Kỹ thuật scraping và crawling Web nâng cao với Scrapy và SQLAlchemy hay Scraping và crawling Web với Scrapy và SQLAlchemy. Nay mình cũng xin phép giới thiệu một module cũng có thể scraping dữ liệu giống Scrapy nhưng nó nhẹ và đơn giản hơn cho những yêu cầu không đòi hỏi sự phức tạp như Scrapy, đó là Beautiful Soup. Chúng ta cùng đi tìm hiểu nó nhé!Anh Tranngoc về Scraping và Crawling dữ liệu từ một website nào đó với module Scrapy như: Kỹ thuật scraping và crawling Web nâng cao với Scrapy và SQLAlchemy hay Scraping và crawling Web với Scrapy và SQLAlchemy. Nay mình cũng xin phép giới thiệu một module cũng có thể scraping dữ liệu giống Scrapy nhưng nó nhẹ và đơn giản hơn cho những yêu cầu không đòi hỏi sự phức tạp như Scrapy, đó là Beautiful Soup. Chúng ta cùng đi tìm hiểu nó nhé! Cài đặtTrước tiên, chúng ta có thể kiểm tra xem trên máy của mình đã cài module này chưa hoặc nếu đã cài rồi, chúng ta xem mình đã ở phiên bản mới nhất chưa bằng 1 đoạn code ngắn trên terminal như sau:
Sau khi thử đoạn code trên, nếu máy bạn đã cài rồi thì nó sẽ xuất hiện phiên bản của module BeautifulSoup. Còn không, bạn sẽ nhận được một lỗi như sau:
Để cài Beautiful Soup 4, bạn có bốn cách là thông qua APT, PIP, EasyInstall hoặc thông qua source. Mình sẽ đưa ra cả bốn cách cài để bạn có thể lựa chọn cho phù hợp với sở thích của mình nhé
Nếu tất cả cách trên đều không thể cài đặt được, thì bạn vẫn có thể sử dụng nó bằng cách copy thư mục 1 ở phần cài đặt bằng source vào thư mục source code của bạn rồi sử dụng như bình thường !!Cài đặt parserBeautiful Soup hỗ trợ thư viện HTML parser mặc định của Python và một số thư viện của bên thứ ba. Ví dụ như lxml parse hoặc html5lib parser. Mình sẽ hướng dẫn các bạn cài đặt cả 2 thư viện này nhé ! !HTML5LibĐể cài đặt HTML5Lib, bạn có thể làm theo 1 trong 3 cách:
LXMLĐể có thể cài đặt được LXML parser, bạn cần phải có 3 package sau: 5, 6 và 7.
LXML
Cách sử dụng các parserPython html.parser
LXML HTML parserLXML XLM parser ). Để parser một tài liệu, bạn chỉ cần import 9 từ thư viện 1 rồi truyền file handle hoặc một chuỗi HTML (XML) vào constructor của 9 là có thể sử dụng được ngay. Xem ra món này nấu khá đơn giản đấy nhỉ ?
4 hoặc 5Chuẩn bị nguyên liệupdb (Python Debugger) để tiện cho việc debug code của chúng ta trên terminal. Nếu có thể, mình sẽ giới thiệu module pdb này trong bài viết tiếp theo của series PyMOTM này ! Còn việc sử dụng parser nào thì tùy bạn quyết định nhé. Mình sẽ dùng HTML5Lib !
Để thử Beautiful Soup, chúng ta sẽ tạo một file HTML với tên 7 trong thư mục 8 với nội dung như sau:Making the soupSau khi đã có đầy đủ nguyên liệu và dụng cụ rồi, chúng ta cùng nhau đi chế biến món soup nhé ). Để parser một tài liệu, bạn chỉ cần import 9 từ thư viện 1 rồi truyền file handle hoặc một chuỗi HTML (XML) vào constructor của 9 là có thể sử dụng được ngay. Xem ra món này nấu khá đơn giản đấy nhỉ ?!Ở from bs4 import BeautifulSoup
from_file_handle = BeautifulSoup(open('/tmp/bs4.html'))
from_string = BeautifulSoup('data')
|