Beautifulsoup trăn tìm tất cả các bảng

Bảng BeautifulSoup không là gì ngoài trang web cạo; . Do đó, bảng BeautifulSoup được gọi là cạo. Mã chúng tôi viết trong khi quét một trang cung cấp yêu cầu của chúng tôi lưu trữ trang đích. Sau đó, chúng tôi tải xuống trang web, chỉ trích xuất các thành phần được xác định trong tác vụ thu thập dữ liệu tại thời điểm đó

Bàn BeautifulSoup là gì?

  • Không phải lúc nào chúng tôi cũng có quyền truy cập vào tập dữ liệu có định dạng CSV được tổ chức tốt; . May mắn thay, python cung cấp một thư viện tên là Beautiful Soup có thể giúp chúng ta
  • Pandas là một thư viện phân tích dữ liệu, trong nhiều trường hợp, được sử dụng khi làm việc trên một tập dữ liệu, đặc biệt nếu chúng ta muốn phân tích nó. Chuỗi bài học Pandas for Data Analysis là một nơi tuyệt vời để bắt đầu nếu chúng ta quan tâm đến phân tích dữ liệu. Ngoài ra, bảng BeautifulSoup rất cần thiết trong python

Web-scraping Bàn BeautifulSoup

  • XML, giống như HTML, sử dụng các thẻ, nhưng nó khác nhau. Để phân tích cú pháp XML, chúng ta có thể sử dụng một số thư viện
  • Do đó, chúng tôi sẽ chỉ cho bạn cách sử dụng thư viện để lấy bất kỳ bảng nào từ bất kỳ trang web nào
  • Chúng tôi thậm chí không cần đánh giá các yếu tố của trang web bằng phương pháp này; . Thats tất cả để có nó;

Dưới đây là các bước đã được sử dụng trong quá trình quét web của bảng beautifulsoup

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

1. Trong bước này, chúng tôi đang cài đặt gói bs4 bằng cách sử dụng lệnh pip. Chúng tôi đã cài đặt gói bs4 trong hệ thống của chúng tôi, vì vậy nó sẽ hiển thị rằng yêu cầu đã được đáp ứng, sau đó chúng tôi không cần phải làm gì cả

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [84.957 xếp hạng]

Mã số

pip install bs4

đầu ra

2. Sau khi cài đặt gói bs4 ở bước này, chúng tôi đang cài đặt các gói yêu cầu. Trong ví dụ dưới đây, chúng tôi đã cài đặt gói yêu cầu trong hệ thống của mình, vì vậy nó sẽ hiển thị rằng yêu cầu đã được đáp ứng, vì vậy chúng tôi không cần phải làm gì cả

Mã số

pip install requests

đầu ra

3. Sau khi cài đặt tất cả các module, chúng ta mở shell python bằng lệnh python3

Mã số

python3

đầu ra

4. Sau khi đăng nhập vào shell python ở bước này, chúng tôi kiểm tra bs4 và gói yêu cầu đã được cài đặt trong hệ thống của chúng tôi

Mã số

import bs4
import requests

đầu ra

5. Sau khi kiểm tra tất cả các điều kiện tiên quyết ở bước này, chúng tôi nhập thư viện của bs4 và các gói yêu cầu

Mã số

from bs4 import BeautifulSoup
import requests

đầu ra

6. Ví dụ dưới đây cho thấy một bảng beautifulsoup đang quét web. Trong ví dụ sau, chúng tôi đang sử dụng url web của python

Mã số

import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd
py_url = "//www.python.org/"
py_wpage = requests.get [py_url]
py_soup = BeautifulSoup [py_wpage.text, 'html.parser']
print [py_soup.prettify []]

đầu ra

Bảng BeautifulSoup Phân tích cú pháp HTML

  • Chúng tôi không cần đặt trình quét để lấy một số bảng từ một trang web nếu tất cả những gì chúng tôi muốn là một số bảng vì Pandas có thể tự làm tất cả. Ví dụ, gấu trúc. đọc hàm html trả về một tập hợp DataFrames chứa tất cả các bảng trên một trang;
  • Hàm này nhận một số tham số để giúp tìm đúng bảng. Đầu tiên, chúng tôi sử dụng biểu thức chính quy mà bảng phải khớp và tiêu đề để nhận bảng có tiêu đề đã xác định của chúng tôi
  • Pandas là một chương trình tuyệt vời, nhưng nó không giải đáp được tất cả các vấn đề của chúng tôi. Ví dụ: sẽ có những lúc chúng ta cần loại bỏ các phần tử, cho dù vì chúng ta không muốn có bảng hoàn chỉnh hay vì chúng không phù hợp với cấu trúc của cơ sở dữ liệu
  • Chúng tôi sẽ xác định vị trí bảng trong ví dụ dưới đây. Chúng tôi có thể truy cập bảng đầu tiên, nhưng trang có thể có nhiều bảng, điều này thường xảy ra trên các trang Wikipedia. Do đó, chúng ta phải kiểm tra tất cả các bảng để xác định bảng nào đúng. Nhưng chúng ta không thể tiếp tục. Hãy xem cách HTML được cấu trúc

Mã số

import requests
import pandas as pd
from bs4 import BeautifulSoup
py_url = "//pt.wikipedia.org/wiki/Lista_de_bairros_de_Manaus"
py_data = requests.get[py_url].text
py_soup = BeautifulSoup [py_data, 'html.parser']
print ['Classes of each table:']
for table in py_soup.find_all ['table']:
print [table.get ['class']]

đầu ra

ĐẹpSúp Bàn Cạo

  • Để thực hiện việc cạo bảng beautifulsoup, chúng ta cần cài đặt mô-đun bs4 trong hệ thống của mình. Chúng tôi đã cài đặt bs4 và mô-đun yêu cầu trong ví dụ trên
  • Trước khi cạo bảng, chúng ta cần kiểm tra trang web mà BeautifulSoup được áp dụng. Đầu tiên, hãy truy cập trang Wikipedia bằng liên kết trước các công cụ
  • Có thể tìm thấy bảng mục tiêu trong mã html của trang bằng các công cụ dành cho nhà phát triển. Ví dụ dưới đây cho thấy bạn kiểm tra trang tìm kiếm bảng BeautifulSoup

Đoạn mã dưới đây cho thấy một cái nhìn tổng quan về việc cạo bảng beautifulsoup

Mã số

import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd
py_url = "//en.wikipedia.org/wiki/Transistor_count"
py_page = requests.get[py_url]
py_soup = BeautifulSoup [py_page.text, 'html.parser']
print [py_soup.prettify[]]

đầu ra

  • Chúng tôi có thể tin rằng chúng tôi không cần phải khai báo lớp bảng. Lần này, nó tồn tại với một tên lớp khác, box-More, như thể hiện trong hình bên dưới

Ví dụ dưới đây cho thấy giải nén phần thân bảng như sau

Mã số

________số 8

đầu ra

Ví dụ dưới đây cho thấy cách tạo khung dữ liệu trong việc cạo bảng beautifulsoup

Mã số

import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd
py_url = "//en.wikipedia.org/wiki/Transistor_count"
py_page = requests.get[py_url]
py_soup = BeautifulSoup[py_page.text, 'html.parser']
py_table = soup.find['table', {'class':'wikitable'}].tbody
py_col = [v.text for v in rows[0].find_all['th']]
print [py_col]

đầu ra

Phần kết luận

Khái niệm thu thập dữ liệu cần thiết là quét web là một bảng beautifulsoup. Để quét web bằng Python là BeautifulSoup, Selenium và XPath. Cạo là một kỹ năng quan trọng đối với bất kỳ ai muốn trích xuất. Tuy nhiên, nếu chúng ta sử dụng trình phân tích cú pháp Beautiful soup tiêu chuẩn, thì đó là một công việc tốn nhiều thời gian

Bài viết được đề xuất

Đây là hướng dẫn về Bảng BeautifulSoup. Ở đây chúng tôi thảo luận về phần giới thiệu, bảng BeautifulSoup quét web, phân tích cú pháp HTML và quét. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Chủ Đề