Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

Điều kiện tiên quyết: Quét web bằng cách sử dụng BeautifulSoap Web Scraping using BeautifulSoap

Các trường hợp coronavirus đang tăng nhanh trên toàn thế giới. Bài viết này sẽ hướng dẫn bạn về cách xử lý dữ liệu coronavirus trên web và vào MS-Excel.

Web Scraping là gì?

Nếu bạn đã từng sao chép và dán thông tin từ một trang web, bạn đã thực hiện chức năng tương tự như bất kỳ cào web nào, chỉ trên thang đo bằng kính hiển vi. Xóa web, còn được gọi là khai thác dữ liệu trực tuyến, là phương pháp trích xuất hoặc cạo dữ liệu từ một trang web. Kiến thức này được thu thập và sau đó được dịch sang một phương tiện dễ tiếp cận hơn với người dùng. Nó có thể là một bảng tính hoặc API.

Approach: 

  1. Yêu cầu phản hồi từ trang web.
  2. Parse và trích xuất với sự trợ giúp của phương thức lớp BeautifulSoup () và mô -đun LXML.
  3. Tải xuống và xuất dữ liệu với gấu trúc vào Excel.

Nguồn dữ liệu:

Chúng tôi cần một trang web để tìm nạp dữ liệu coronavirus. Vì vậy, chúng tôi sẽ sử dụng trang web Worldometer ở đây. Trang web Worldometer sẽ trông giống như thế này:

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

nguồn dữ liệu & nbsp;

Thực hiện lập trình

Có một vài thư viện bạn sẽ cần, vì vậy trước tiên, bạn cần cài đặt chúng.

Chuyển đến dòng lệnh của bạn và cài đặt chúng.

pip install requests
pip install lxml
pip install bs4

Bây giờ, hãy để xem những gì chúng ta có thể làm với các thư viện này.

Dưới đây là các bước để dữ liệu coronavirus quét web vào Excel:

Bước 1) Sử dụng thư viện yêu cầu để lấy trang. Use the requests library to grab the page.

Python3

Thư viện yêu cầu mà chúng tôi đã tải xuống và nhận được phản hồi, để nhận được yêu cầu từ trang web, chúng tôi sử dụng phương thức Yêu cầu.Get (URL trang web). Nếu yêu cầu thành công, nó sẽ được lưu trữ dưới dạng chuỗi Python khổng lồ. Chúng tôi sẽ có thể tìm nạp mã nguồn trang web hoàn chỉnh khi chúng tôi chạy result.text. Nhưng mã sẽ không được cấu trúc.

Lưu ý: Điều này có thể thất bại nếu bạn có một tường lửa chặn Python/Jupyter. Đôi khi bạn cần chạy điều này hai lần nếu nó thất bại lần đầu tiên. This may fail if you have a firewall blocking Python/Jupyter. Sometimes you need to run this twice if it fails the first time.

Bước 2) Sử dụng phương thức BeautifulSoap () để trích xuất dữ liệu từ các trang web. & NBSP;Use BeautifulSoap() method to extract data from websites. 

Thư viện BS4 đã có rất nhiều công cụ và phương pháp tích hợp để lấy thông tin từ một chuỗi có tính chất này (về cơ bản là một tệp HTML). Đây là một thư viện Python để rút dữ liệu ra khỏi các tệp HTML và XML. Sử dụng phương thức mô -đun BS4 đẹp () Chúng tôi có thể tạo một đối tượng súp có chứa tất cả các thành phần của trang web.

Python3

import bs4

soup = bs4.BeautifulSoup(result.text,'lxml'__

Nhập khẩu & nbsp; bs4 & nbsp; là tạo A & nbsp; đẹp & nbsp; object. Và chúng ta sẽ chuyển qua hai điều ở đây, kết quả.Text String và & nbsp; lxml & nbsp; như một chuỗi như một đối số của hàm tạo. & Nbsp; lxml & nbsp; Các yếu tố HTML, và thẻ, v.v.

Trích xuất dữ liệu, & nbsp; Để tìm phần tử, bạn cần nhấp chuột phải và nhấn kiểm tra về số lượng trường hợp. Tham khảo ảnh chụp nhanh bên dưới. & NBSP;to find the element, you need to right-click and hit inspect on the number of cases. Refer to the attached snapshot below. 

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

Kiểm tra trang web

Chúng ta cần tìm đúng lớp, tức là class_ = ‘maincount-number phục vụ mục đích của chúng ta. Tham khảo ảnh chụp nhanh bên dưới. & NBSP;

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

Tìm đúng lớp học

Đối tượng & nbsp; BeautifulSoup & nbsp; đã được tạo trong tập lệnh Python của chúng tôi và dữ liệu HTML của trang web đã được loại bỏ khỏi trang. Tiếp theo, chúng ta cần có được dữ liệu mà chúng ta quan tâm, ra khỏi mã HTML. & NBSP;

Python3

cases = import0import1 import2import3__

Ảnh chụp màn hình đầu vào (phần tử kiểm tra): & nbsp; 

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

Vẫn còn rất nhiều mã HTML mà chúng tôi không muốn. Các mục dữ liệu mong muốn của chúng tôi được gói trong phần tử HTML Div và bên trong class_ = ‘mainCount-number. Chúng ta có thể sử dụng kiến ​​thức này để tiếp tục làm sạch dữ liệu bị xóa.

Bước 3) Lưu trữ dữ liệuStoring the data

Chúng ta cần lưu dữ liệu được cạo ở một số hình thức có thể được sử dụng hiệu quả. Đối với dự án này, tất cả dữ liệu sẽ được lưu trong danh sách Python. & NBSP;

Python3

import7= import9

bs40 bs41bs42 bs43

bs44bs45= bs47bs48)

bs44soup 1

soup 2soup 3

Ảnh chụp màn hình đầu vào (phần tử kiểm tra):

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

Output:

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

Chúng tôi sẽ sử dụng nhịp để tìm nạp dữ liệu từ Div. Chúng tôi chỉ cần số lượng các trường hợp, không phải các thẻ. Vì vậy, chúng tôi sẽ sử dụng span.String để có được những con số đó và sau đó chúng được lưu trữ trong dữ liệu [].

Bây giờ chúng tôi có số lượng trường hợp, chúng tôi đã sẵn sàng xuất dữ liệu của chúng tôi vào một tệp Excel.

Bước 4) Xử lý dữ liệu Processing the data

Bước cuối cùng của chúng tôi là xuất dữ liệu sang MS-Excel, mà chúng tôi sẽ sử dụng mô-đun Pandas. Để tải mô -đun Pandas và bắt đầu làm việc với nó, hãy nhập gói. & nbsp;

Python3

import soup 5

soup 6= soup 8soup 9=0

=1= =3=4=5=6=5=8=9

DataFrame & NBSP; là cấu trúc dữ liệu được dán nhãn 2D, có khả năng cấu trúc dữ liệu bảng không đồng nhất với các trục được dán nhãn (hàng và cột).

df = pd.dataFrame ({Hồi coronadata: Data}) được sử dụng để tạo một khung dữ liệu và đặt tên cho nó và ánh xạ nó vào danh sách dữ liệu mà chúng tôi đã tạo trước đó.

Tiếp theo, chúng tôi sẽ đưa ra tên cột với df.index.

Output:  

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

Bước 5) Xuất dữ liệu vào ExcelExporting data into Excel

Chúng tôi đã sẵn sàng để xuất dữ liệu vào Excel. Chúng tôi sẽ sử dụng phương thức DF.TO_CSV () cho tác vụ này. & NBSP;

Python3

bs4.BeautifulSoup(result.text,0bs4.BeautifulSoup(result.text,1)

Output:  

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python

Dưới đây là chương trình hoàn chỉnh từ các bước trên: & NBSP;

Python3

import bs4.BeautifulSoup(result.text,4

import bs4

import soup 5

bs4.BeautifulSoup(result.text,9= 'lxml'1

soup = bs4.BeautifulSoup(result.text,'lxml'__

cases = import0import1 import2import3__

import7= import9

bs40 bs41bs42 bs43

bs44bs45= bs47bs48)

bs44soup 1

soup 2soup 3

soup 6= soup 8soup 9=0

=1= =3=4=5=6=5=8=9

bs4.BeautifulSoup(result.text,0bs4.BeautifulSoup(result.text,1)

Kết quả cuối cùng: & NBSP; 

Hướng dẫn scrape data from website to excel python - quét dữ liệu từ trang web sang excel python


Làm cách nào để cạo dữ liệu từ một trang web đến Excel?

Excel Web Scraping giải thích..
Chọn ô mà bạn muốn dữ liệu xuất hiện ..
Nhấp vào dữ liệu> từ web ..
Hộp truy vấn web mới sẽ bật lên như được hiển thị bên dưới ..
Nhập URL trang web Bạn cần trích xuất dữ liệu từ thanh địa chỉ và nhấn nút GO ..

Python có thể trích xuất dữ liệu từ trang web không?

Các cách khác nhau để trích xuất dữ liệu từ trang web, chúng ta có thể sử dụng nó thông qua mô -đun RE của Python. Nó cũng được gọi là các mẫu re hoặc regexes hoặc regex. Với sự trợ giúp của các biểu thức thông thường, chúng tôi có thể chỉ định một số quy tắc cho tập hợp các chuỗi có thể mà chúng tôi muốn khớp từ dữ liệu.We can use it through re module of Python. It is also called RE or regexes or regex patterns. With the help of regular expressions, we can specify some rules for the possible set of strings we want to match from the data.

Web có được cào với Python hợp pháp không?

Cạo cho mục đích cá nhân thường là ok, ngay cả khi đó là thông tin có bản quyền, vì nó có thể nằm trong quy định sử dụng hợp lý của luật sở hữu trí tuệ.Tuy nhiên, việc chia sẻ dữ liệu mà bạn không có quyền chia sẻ là bất hợp pháp.. However, sharing data for which you don't hold the right to share is illegal.

Làm cách nào để trích xuất dữ liệu từ một trang web vào tệp CSV trong Python?

Tiết kiệm Python Web Scraping vào CSV, chúng tôi có thể tiến lên để cạo dữ liệu khỏi web và lưu nó vào tệp CSV của chúng tôi.Trong ví dụ này, chúng tôi sẽ so sánh các biên tập viên văn bản của Wikipedia.Điều này sẽ lưu hàng đầu tiên của bảng vào tệp CSV của chúng tôi, tức là dữ liệu văn bản.CSV.move forward to Scrape the Data from the web and save it to our CSV File. In this example, we are going to scrape Wikipedia's Comparison of Text Editors. This will Save the First Row of the table into our CSV file i.e Text-Editor-Data. csv .