Vì BeautifulSoup không phải là thư viện python chuẩn nên chúng ta cần cài đặt nó trước. Chúng tôi sẽ cài đặt thư viện BeautifulSoup 4 [còn được gọi là BS4], đây là thư viện mới nhất
Để cách ly môi trường làm việc của chúng tôi để không làm phiền thiết lập hiện có, trước tiên chúng ta hãy tạo một môi trường ảo
Tạo môi trường ảo [tùy chọn]
Môi trường ảo cho phép chúng tôi tạo một bản sao python hoạt động riêng biệt cho một dự án cụ thể mà không ảnh hưởng đến thiết lập bên ngoài
Cách tốt nhất để cài đặt bất kỳ máy đóng gói python nào là sử dụng pip, tuy nhiên, nếu pip chưa được cài đặt [bạn có thể kiểm tra nó bằng cách sử dụng – “pip –version” trong lệnh hoặc dấu nhắc trình bao], bạn có thể cài đặt bằng cách đưa ra lệnh bên dưới -
môi trường Linux
$sudo apt-get install python-pip
môi trường Windows
Để cài đặt pip trong windows, hãy làm như sau -
Tải xuống get-pip. py từ https. //bootstrap. pypa. io/get-pip. py hoặc từ github vào máy tính của bạn
Mở dấu nhắc lệnh và điều hướng đến thư mục chứa get-pip. tập tin py
Chạy lệnh sau -
>python get-pip.py
Thế là xong, pip hiện đã được cài đặt trong máy windows của bạn
Bạn có thể xác minh cài đặt pip của mình bằng cách chạy lệnh bên dưới -
>pip --version pip 19.2.3 from c:\users\yadur\appdata\local\programs\python\python37\lib\site-packages\pip [python 3.7]
Cài đặt môi trường ảo
Chạy lệnh dưới đây trong dấu nhắc lệnh của bạn -
>pip install virtualenv
Sau khi chạy, bạn sẽ thấy ảnh chụp màn hình bên dưới -
Lệnh bên dưới sẽ tạo một môi trường ảo [“myEnv”] trong thư mục hiện tại của bạn –
>virtualenv myEnv
Ảnh chụp màn hình
Để kích hoạt môi trường ảo của bạn, hãy chạy lệnh sau -
>myEnv\Scripts\activate
Trong ảnh chụp màn hình ở trên, bạn có thể thấy chúng tôi có “myEnv” làm tiền tố cho chúng tôi biết rằng chúng tôi đang ở trong môi trường ảo “myEnv”.
Để thoát khỏi môi trường ảo, hãy chạy hủy kích hoạt
[myEnv] C:\Users\yadur>deactivate C:\Users\yadur>
Khi môi trường ảo của chúng ta đã sẵn sàng, bây giờ chúng ta hãy cài đặt beautifulsoup
Cài đặt BeautifulSoup
Vì BeautifulSoup không phải là thư viện chuẩn nên chúng ta cần cài đặt nó. Chúng tôi sẽ sử dụng gói BeautifulSoup 4 [được gọi là bs4]
Máy Linux
Để cài đặt bs4 trên Debian hoặc Ubuntu linux bằng trình quản lý gói hệ thống, hãy chạy lệnh bên dưới -
$sudo apt-get install python-bs4 [for python 2.x] $sudo apt-get install python3-bs4 [for python 3.x]
Bạn có thể cài đặt bs4 bằng easy_install hoặc pip [trong trường hợp bạn gặp sự cố khi cài đặt bằng trình đóng gói hệ thống]
________số 8[Bạn có thể cần sử dụng easy_install3 hoặc pip3 tương ứng nếu bạn đang sử dụng python3]
máy cửa sổ
Để cài đặt beautifulsoup4 trong windows rất đơn giản, đặc biệt nếu bạn đã cài đặt pip
>pip install beautifulsoup4
Vậy là beautifulsoup4 đã được cài đặt trong máy của chúng ta. Hãy để chúng tôi nói về một số vấn đề gặp phải sau khi cài đặt.
Sự cố sau khi cài đặt
Trên máy windows, bạn có thể gặp phải lỗi cài đặt sai phiên bản chủ yếu thông qua -
lỗi. ImportError “Không có mô-đun nào có tên là HTMLParser”, thì bạn phải đang chạy phiên bản mã python 2 trong Python 3
lỗi. ImportError "Không có mô-đun nào có tên html. trình phân tích cú pháp”, thì bạn phải chạy phiên bản mã Python 3 trong Python 2
Cách tốt nhất để thoát khỏi hai tình huống trên là cài đặt lại BeautifulSoup một lần nữa, xóa hoàn toàn cài đặt hiện có
Nếu bạn nhận được SyntaxError “Cú pháp không hợp lệ” trên dòng ROOT_TAG_NAME = u’[document]’, thì bạn cần chuyển đổi mã python 2 thành python 3, chỉ bằng cách cài đặt gói –
>python get-pip.py0
hoặc bằng cách chạy thủ công tập lệnh chuyển đổi từ 2 sang 3 của python trên thư mục bs4 –
>python get-pip.py1
Cài đặt Trình phân tích cú pháp
Theo mặc định, Beautiful Soup hỗ trợ trình phân tích cú pháp HTML có trong thư viện chuẩn của Python, tuy nhiên, nó cũng hỗ trợ nhiều trình phân tích cú pháp python của bên thứ ba bên ngoài như trình phân tích cú pháp lxml hoặc trình phân tích cú pháp html5lib
Để cài đặt trình phân tích cú pháp lxml hoặc html5lib, hãy sử dụng lệnh -
Máy Linux
>python get-pip.py2
máy cửa sổ
>python get-pip.py3
Thông thường, người dùng sử dụng lxml để tăng tốc và nên sử dụng trình phân tích cú pháp lxml hoặc html5lib nếu bạn đang sử dụng phiên bản cũ hơn của python 2 [trước 2. 7. 3] hoặc python 3 [trước 3. 2. 2] vì trình phân tích cú pháp HTML tích hợp của python không tốt lắm trong việc xử lý phiên bản cũ hơn.
Chạy Súp Đẹp
Đã đến lúc thử nghiệm gói Beautiful Soup của chúng tôi trên một trong các trang html [lấy trang web – https. //www. hướng dẫn. com/chỉ mục. htm, bạn có thể chọn bất kỳ trang web nào khác mà bạn muốn] và trích xuất một số thông tin từ đó
Trong đoạn mã dưới đây, chúng tôi đang cố gắng trích xuất tiêu đề từ trang web -
>python get-pip.py4
đầu ra
>python get-pip.py5
Một nhiệm vụ phổ biến là trích xuất tất cả các URL trong trang web. Để làm được điều đó, chúng ta chỉ cần thêm dòng mã dưới đây -