Quét web đã xuất hiện từ những ngày đầu của World Wide Web, nhưng việc quét các trang web hiện đại phụ thuộc nhiều vào công nghệ mới là điều không hề đơn giản. Trong bài viết này, Neal Barnett, Nhà phát triển phần mềm hàng đầu trình bày cách bạn có thể sử dụng Python và Selenium để loại bỏ các trang web sử dụng nhiều JavaScript, iframe và chứng chỉ
Chia sẻ
Chia sẻQuét web đã xuất hiện từ những ngày đầu của World Wide Web, nhưng việc quét các trang web hiện đại phụ thuộc nhiều vào công nghệ mới là điều không hề đơn giản. Trong bài viết này, Neal Barnett, Nhà phát triển phần mềm hàng đầu trình bày cách bạn có thể sử dụng Python và Selenium để loại bỏ các trang web sử dụng nhiều JavaScript, iframe và chứng chỉ
Tác giả Neal Barnett
Chuyên gia đã được xác minh về Kỹ thuật
Neal là một chuyên gia tư vấn và cơ sở dữ liệu cấp cao, người đã mang đến nhiều kiến thức và kinh nghiệm hơn hai thập kỷ
Giả sử bạn muốn lấy một số thông tin từ một trang web? . Nhưng nếu bạn muốn có một lượng lớn dữ liệu hàng ngày và càng nhanh càng tốt thì sao?. Trong những tình huống như vậy, sao chép và dán sẽ không hoạt động và đó là lúc bạn cần quét web
Trong bài viết này, chúng ta sẽ thảo luận về cách thực hiện quét web bằng thư viện yêu cầu và thư viện beautifulsoup trong Python
Mô-đun yêu cầu
Thư viện yêu cầu được sử dụng để thực hiện các yêu cầu HTTP tới một URL cụ thể và trả về phản hồi. Các yêu cầu Python cung cấp các chức năng sẵn có để quản lý cả yêu cầu và phản hồi
Cài đặt
Yêu cầu cài đặt tùy thuộc vào loại hệ điều hành, lệnh cơ bản ở mọi nơi sẽ là mở một thiết bị đầu cuối lệnh và chạy,
pip install requests
Yêu cầu
Mô-đun yêu cầu Python có một số phương thức tích hợp để tạo các yêu cầu HTTP tới URI được chỉ định bằng cách sử dụng các yêu cầu GET, POST, PUT, PATCH hoặc HEAD. Yêu cầu HTTP có nghĩa là truy xuất dữ liệu từ một URI được chỉ định hoặc đẩy dữ liệu đến máy chủ. Nó hoạt động như một giao thức yêu cầu phản hồi giữa máy khách và máy chủ. Ở đây chúng tôi sẽ sử dụng yêu cầu GET.
Phương thức GET được sử dụng để truy xuất thông tin từ máy chủ đã cho bằng URI đã cho. Phương thức GET gửi thông tin người dùng đã mã hóa được thêm vào yêu cầu trang.
Thí dụ. Yêu cầu Python thực hiện yêu cầu GET
Python3
import
requests
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 2003
//www.geeksforgeeks.org/python-programming-language/ 2004
//www.geeksforgeeks.org/python-programming-language/ 2005_______1_______6
//www.geeksforgeeks.org/python-programming-language/ 2007
//www.geeksforgeeks.org/python-programming-language/ 2005_______1_______9
đầu ra
đối tượng phản hồi
Khi một người đưa ra yêu cầu tới một URI, nó sẽ trả về một phản hồi. Đối tượng Phản hồi này về mặt python được trả về theo yêu cầu. phương thức [], phương thức là - nhận, đăng, đặt, v.v. Phản hồi là một đối tượng mạnh mẽ với nhiều chức năng và thuộc tính hỗ trợ chuẩn hóa dữ liệu hoặc tạo các phần mã lý tưởng. Ví dụ, phản ứng. status_code trả về mã trạng thái từ chính các tiêu đề và người ta có thể kiểm tra xem yêu cầu có được xử lý thành công hay không
Các đối tượng phản hồi có thể được sử dụng để ám chỉ nhiều tính năng, phương thức và chức năng
Thí dụ. Python yêu cầu đối tượng phản hồi
Python3
import
requests
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
pip install beautifulsoup48
//www.geeksforgeeks.org/python-programming-language/ 2005
Python Programming Language - GeeksforGeeks title html0
Python Programming Language - GeeksforGeeks title html1
Python Programming Language - GeeksforGeeks title html2
//www.geeksforgeeks.org/python-programming-language/ 2005_______16_______4
đầu ra
//www.geeksforgeeks.org/python-programming-language/ 200
Để biết thêm thông tin, hãy tham khảo Hướng dẫn yêu cầu Python của chúng tôi
Thư Viện Súp Đẹp
BeautifulSoup được sử dụng trích xuất thông tin từ các tệp HTML và XML. Nó cung cấp một cây phân tích và các chức năng để điều hướng, tìm kiếm hoặc sửa đổi cây phân tích này
- Beautiful Soup là một thư viện Python được sử dụng để lấy dữ liệu ra khỏi các tệp HTML và XML cho mục đích quét web. Nó tạo ra một cây phân tích cú pháp từ mã nguồn trang có thể được sử dụng để kéo dữ liệu theo thứ bậc và rõ ràng hơn.
- Nó được trình bày lần đầu tiên bởi Leonard Richardson, người vẫn đang quyên góp cho dự án này và dự án này cũng được hỗ trợ bởi Tide lift [một công cụ đăng ký trả phí để giám sát nguồn mở]
- Beautiful soup3 được phát hành chính thức vào tháng 5 năm 2006, Phiên bản mới nhất do Beautiful Soup phát hành là 4. 9. 2 và nó hỗ trợ Python 3 và Python 2. 4 cũng vậy
Nét đặc trưng của Beautiful Soup
Beautiful Soup là một thư viện Python được phát triển cho các dự án đảo ngược nhanh như quét màn hình. Ba tính năng làm cho nó mạnh mẽ
1. Beautiful Soup cung cấp một số phương thức đơn giản và cụm từ Pythonic để hướng dẫn, tìm kiếm và thay đổi cây phân tích cú pháp. một bộ công cụ để nghiên cứu một tài liệu và loại bỏ những gì bạn cần. Nó không mất nhiều mã để ghi lại một ứng dụng
2. Beautiful Soup tự động chuyển đổi các bản ghi đến thành Unicode và các biểu mẫu gửi đi thành UTF-8. Bạn không cần phải suy nghĩ về cách mã hóa trừ khi tài liệu không xác định cách mã hóa và Beautiful Soup không thể bắt được mã hóa. Sau đó, bạn chỉ cần chọn mã hóa ban đầu
3. Beautiful Soup nằm trên các trình phân tích cú pháp Python nổi tiếng như LXML và HTML, cho phép bạn thử các chiến lược phân tích cú pháp khác nhau hoặc thay đổi tốc độ để linh hoạt
Cài đặt
Để cài đặt Beautifulsoup trên Windows, Linux hoặc bất kỳ hệ điều hành nào, người ta sẽ cần gói pip. Để kiểm tra cách cài đặt pip trên hệ điều hành của bạn, hãy xem – Cài đặt PIP – Windows. Linux. Bây giờ hãy chạy lệnh dưới đây trong thiết bị đầu cuối
pip install beautifulsoup4
Kiểm tra trang web
Trước khi lấy bất kỳ thông tin nào từ HTML của trang, chúng ta phải hiểu cấu trúc của trang. Điều này là cần thiết để được thực hiện để chọn dữ liệu mong muốn từ toàn bộ trang. Chúng tôi có thể làm điều này bằng cách nhấp chuột phải vào trang mà chúng tôi muốn cạo và chọn kiểm tra phần tử
Sau khi nhấp vào nút kiểm tra, Công cụ dành cho nhà phát triển của trình duyệt sẽ mở. Giờ đây, hầu hết tất cả các trình duyệt đều được cài đặt công cụ dành cho nhà phát triển và chúng tôi sẽ sử dụng Chrome cho hướng dẫn này.
Các công cụ của nhà phát triển cho phép xem Mô hình Đối tượng Tài liệu [DOM] của trang web. Nếu bạn không biết về DOM thì đừng lo lắng, hãy xem văn bản được hiển thị dưới dạng cấu trúc HTML của trang.
Phân tích cú pháp HTML
Sau khi nhận được HTML của trang, hãy xem cách phân tích mã HTML thô này thành một số thông tin hữu ích. Trước hết, chúng ta sẽ tạo một đối tượng BeautifulSoup bằng cách chỉ định trình phân tích cú pháp mà chúng ta muốn sử dụng
Ghi chú. Thư viện BeautifulSoup được xây dựng dựa trên các thư viện phân tích cú pháp HTML như html5lib, lxml, html. trình phân tích cú pháp, v.v. Vì vậy, đối tượng BeautifulSoup và chỉ định thư viện trình phân tích cú pháp có thể được tạo cùng một lúc
Thí dụ. Python BeautifulSoup Phân tích cú pháp HTML
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
7 Most Common Time Wastes During Software Development0
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 2003
//www.geeksforgeeks.org/python-programming-language/ 2004
//www.geeksforgeeks.org/python-programming-language/ 2005_______1_______6
import
1
import
2=
import
4import
5
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 2005
import
8đầu ra
Thông tin này vẫn chưa hữu ích đối với chúng tôi, hãy xem một ví dụ khác để tạo ra một số bức tranh rõ ràng về điều này. Hãy thử trích xuất tiêu đề của trang
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
7 Most Common Time Wastes During Software Development0
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
import
1
import
2=
import
4import
5
//www.geeksforgeeks.org/python-programming-language/ 2002
# Making a GET request
7
//www.geeksforgeeks.org/python-programming-language/ 2005
# Making a GET request
9
r
0
//www.geeksforgeeks.org/python-programming-language/ 2005
r
2
r
3
//www.geeksforgeeks.org/python-programming-language/ 2005
r
5
r
6
r
7
đầu ra
Python Programming Language - GeeksforGeeks title html
tìm phần tử
Bây giờ, chúng tôi muốn trích xuất một số dữ liệu hữu ích từ nội dung HTML. Đối tượng soup chứa tất cả dữ liệu trong cấu trúc lồng nhau có thể được trích xuất theo chương trình. Trang web chúng tôi muốn cạo chứa rất nhiều văn bản, vì vậy bây giờ hãy cạo tất cả những nội dung đó. Trước tiên, hãy kiểm tra trang web chúng tôi muốn cạo.
Tìm phần tử theo lớp
Trong hình trên, chúng ta có thể thấy rằng tất cả nội dung của trang nằm dưới div với lớp entry-content. Chúng ta sẽ sử dụng lớp find. Lớp này sẽ tìm thẻ đã cho với thuộc tính đã cho. Trong trường hợp của chúng tôi, nó sẽ tìm thấy tất cả các div có lớp là nội dung mục nhập. Chúng tôi đã có tất cả nội dung từ trang web nhưng bạn có thể thấy rằng tất cả hình ảnh và liên kết cũng đã bị loại bỏ. Vì vậy, nhiệm vụ tiếp theo của chúng tôi là chỉ tìm nội dung từ HTML được phân tích cú pháp ở trên. Tiếp tục kiểm tra HTML của trang web của chúng tôi –
We can see that the content of the page is under the
tag. Now we have to find all the p tags present in this class. We can use the find_all class of the BeautifulSoup.
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
7 Most Common Time Wastes During Software Development0
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
import
1
import
2=
import
4import
5
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20006
=
//www.geeksforgeeks.org/python-programming-language/ 20008
//www.geeksforgeeks.org/python-programming-language/ 20009_______1_______10
//www.geeksforgeeks.org/python-programming-language/ 20011
=
1_______13//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20015
=
//www.geeksforgeeks.org/python-programming-language/ 20017
//www.geeksforgeeks.org/python-programming-language/ 20018
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 2005_______1_______21
đầu ra
Tìm phần tử theo ID
Trong ví dụ trên, chúng tôi đã tìm thấy các phần tử theo tên lớp nhưng hãy xem cách tìm các phần tử theo id. Bây giờ với nhiệm vụ này, hãy cạo nội dung của thanh bên trái của trang. Bước đầu tiên là kiểm tra trang và xem thanh bên trái nằm dưới thẻ nào
The above image shows that the leftbar falls under the
We can see that the list in the leftbar is under the
- tag with the class as leftBarList and our task is to find all the li under this ul.
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
7 Most Common Time Wastes During Software Development0
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
import
1
import
2=
import
4import
5
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20040
//www.geeksforgeeks.org/python-programming-language/ 20006
=
//www.geeksforgeeks.org/python-programming-language/ 20008
//www.geeksforgeeks.org/python-programming-language/ 20009_______1_______10
//www.geeksforgeeks.org/python-programming-language/ 20046
=
//www.geeksforgeeks.org/python-programming-language/ 20048
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20050
//www.geeksforgeeks.org/python-programming-language/ 20051
=
//www.geeksforgeeks.org/python-programming-language/ 20053
//www.geeksforgeeks.org/python-programming-language/ 20054
//www.geeksforgeeks.org/python-programming-language/ 20010
//www.geeksforgeeks.org/python-programming-language/ 20011
=
1_______58//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20060
//www.geeksforgeeks.org/python-programming-language/ 20015
=
//www.geeksforgeeks.org/python-programming-language/ 20063
//www.geeksforgeeks.org/python-programming-language/ 20064
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 2005_______1_______21
đầu ra
Trích xuất văn bản từ các thẻ
Trong các ví dụ trên, bạn hẳn đã thấy rằng trong khi cạo dữ liệu, các thẻ cũng bị loại bỏ nhưng nếu chúng ta chỉ muốn văn bản mà không có bất kỳ thẻ nào thì sao?. Đừng lo lắng, chúng ta sẽ thảo luận tương tự trong phần này. Chúng tôi sẽ sử dụng thuộc tính văn bản. Nó chỉ in văn bản từ thẻ. Chúng tôi sẽ sử dụng ví dụ trên và sẽ xóa tất cả các thẻ khỏi chúng
ví dụ 1. Xóa các thẻ khỏi nội dung của trang
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
7 Most Common Time Wastes During Software Development0
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
import
1
import
2=
import
4import
5
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20006
=
//www.geeksforgeeks.org/python-programming-language/ 20008
//www.geeksforgeeks.org/python-programming-language/ 20009_______1_______10
//www.geeksforgeeks.org/python-programming-language/ 20011
=
1_______13//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20095
=
//www.geeksforgeeks.org/python-programming-language/ 20017
//www.geeksforgeeks.org/python-programming-language/ 20018_______1_______2
pip install beautifulsoup400
pip install beautifulsoup401
pip install beautifulsoup402
pip install beautifulsoup403
pip install beautifulsoup404
//www.geeksforgeeks.org/python-programming-language/ 2005
pip install beautifulsoup406
đầu ra
ví dụ 2. Xóa các thẻ khỏi nội dung của thanh bên trái
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
7 Most Common Time Wastes During Software Development0
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
import
1
import
2=
import
4import
5
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20040
//www.geeksforgeeks.org/python-programming-language/ 20006
=
//www.geeksforgeeks.org/python-programming-language/ 20008
//www.geeksforgeeks.org/python-programming-language/ 20009_______1_______10
//www.geeksforgeeks.org/python-programming-language/ 20046
=
//www.geeksforgeeks.org/python-programming-language/ 20048
//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20050
//www.geeksforgeeks.org/python-programming-language/ 20051
=
//www.geeksforgeeks.org/python-programming-language/ 20053
//www.geeksforgeeks.org/python-programming-language/ 20054
//www.geeksforgeeks.org/python-programming-language/ 20010
//www.geeksforgeeks.org/python-programming-language/ 20011
=
1_______58//www.geeksforgeeks.org/python-programming-language/ 2002
//www.geeksforgeeks.org/python-programming-language/ 20060
//www.geeksforgeeks.org/python-programming-language/ 20095
=
//www.geeksforgeeks.org/python-programming-language/ 20063
//www.geeksforgeeks.org/python-programming-language/ 20064_______1_______2
pip install beautifulsoup400
pip install beautifulsoup401
pip install beautifulsoup402
pip install beautifulsoup403
pip install beautifulsoup404
//www.geeksforgeeks.org/python-programming-language/ 2005
pip install beautifulsoup406
đầu ra
Trích xuất liên kết
Cho đến bây giờ chúng ta đã thấy cách trích xuất văn bản, bây giờ hãy xem cách trích xuất các liên kết từ trang
Thí dụ. Liên kết trích xuất BeautifulSoup bằng Python
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
7 Most Common Time Wastes During Software Development0
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
import
1
import
2=
import
4import
5
//www.geeksforgeeks.org/python-programming-language/ 2002
pip install beautifulsoup476
pip install beautifulsoup400
pip install beautifulsoup478
pip install beautifulsoup402
pip install beautifulsoup480
pip install beautifulsoup481
pip install beautifulsoup482
pip install beautifulsoup404
//www.geeksforgeeks.org/python-programming-language/ 2005
pip install beautifulsoup485
pip install beautifulsoup486
pip install beautifulsoup487
đầu ra
Trích xuất thông tin hình ảnh
Khi kiểm tra lại trang, chúng ta có thể thấy rằng hình ảnh nằm trong thẻ img và liên kết của hình ảnh đó nằm trong thuộc tính src. Xem hình ảnh bên dưới –
Thí dụ. Hình ảnh trích xuất Python BeautifulSoup
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
7 Most Common Time Wastes During Software Development0
# Making a GET request
r
=
//www.geeksforgeeks.org/python-programming-language/ 2000
//www.geeksforgeeks.org/python-programming-language/ 2001
//www.geeksforgeeks.org/python-programming-language/ 2002
import
1
import
2=
import
4import
5
//www.geeksforgeeks.org/python-programming-language/ 2002
Python Programming Language - GeeksforGeeks title html06____238_______
Python Programming Language - GeeksforGeeks title html08
Python Programming Language - GeeksforGeeks title html09
=
Python Programming Language - GeeksforGeeks title html11
Python Programming Language - GeeksforGeeks title html12
//www.geeksforgeeks.org/python-programming-language/ 2002
pip install beautifulsoup400
Python Programming Language - GeeksforGeeks title html15
pip install beautifulsoup402
Python Programming Language - GeeksforGeeks title html17
pip install beautifulsoup404
Python Programming Language - GeeksforGeeks title html19
=
Python Programming Language - GeeksforGeeks title html21
Python Programming Language - GeeksforGeeks title html22
//www.geeksforgeeks.org/python-programming-language/ 2002
pip install beautifulsoup404
Python Programming Language - GeeksforGeeks title html25
=
Python Programming Language - GeeksforGeeks title html21
Python Programming Language - GeeksforGeeks title html28
//www.geeksforgeeks.org/python-programming-language/ 2002
pip install beautifulsoup404
Python Programming Language - GeeksforGeeks title html31
Python Programming Language - GeeksforGeeks title html32
Python Programming Language - GeeksforGeeks title html33
Python Programming Language - GeeksforGeeks title html34
Python Programming Language - GeeksforGeeks title html35
pip install beautifulsoup404
pip install beautifulsoup400
Python Programming Language - GeeksforGeeks title html15
pip install beautifulsoup402
Python Programming Language - GeeksforGeeks title html40
pip install beautifulsoup404
//www.geeksforgeeks.org/python-programming-language/ 2005
Python Programming Language - GeeksforGeeks title html43
đầu ra
Cạo nhiều trang
Bây giờ, có thể phát sinh nhiều trường hợp khác nhau mà bạn có thể muốn lấy dữ liệu từ nhiều trang từ cùng một trang web hoặc nhiều URL khác nhau và viết mã thủ công cho từng trang web là một công việc tốn thời gian và tẻ nhạt. Thêm vào đó, nó xác định tất cả các nguyên tắc cơ bản của tự động hóa. Tât nhiên.
Để giải quyết vấn đề chính xác này, chúng ta sẽ thấy hai kỹ thuật chính sẽ giúp chúng ta trích xuất dữ liệu từ nhiều trang web
- cùng một trang web
- URL trang web khác nhau
ví dụ 1. Lặp qua các số trang
số trang ở dưới cùng của trang web GeekforGeek
Hầu hết các trang web có các trang được đánh số từ 1 đến N. Điều này giúp chúng tôi thực sự đơn giản để lặp qua các trang này và trích xuất dữ liệu từ chúng vì các trang này có cấu trúc tương tự nhau. Ví dụ
số trang ở dưới cùng của trang web GeekforGeek
Tại đây, chúng ta có thể xem chi tiết trang ở cuối URL. Sử dụng thông tin này, chúng ta có thể dễ dàng tạo vòng lặp for lặp qua bao nhiêu trang tùy thích [bằng cách đặt trang/[i]/ vào chuỗi URL và lặp từ “i” cho đến N] và lấy tất cả dữ liệu hữu ích từ chúng. Đoạn mã sau sẽ giúp bạn hiểu rõ hơn về cách cạo dữ liệu bằng cách sử dụng Vòng lặp For trong Python
Python3
import
requests
Python Programming Language - GeeksforGeeks title html7
Python Programming Language - GeeksforGeeks title html8
import
Python Programming Language - GeeksforGeeks title html49
Python Programming Language - GeeksforGeeks title html50
=
Python Programming Language - GeeksforGeeks title html52
Python Programming Language - GeeksforGeeks title html53____238_______
Python Programming Language - GeeksforGeeks title html55
import
2=
Python Programming Language - GeeksforGeeks title html58
import
5//www.geeksforgeeks.org/python-programming-language/ 2002
Python Programming Language - GeeksforGeeks title html61
=
pip install beautifulsoup480
//www.geeksforgeeks.org/python-programming-language/ 20009
7 Most Common Time Wastes During Software Development15
=
16_______67Python Programming Language - GeeksforGeeks title html68
//www.geeksforgeeks.org/python-programming-language/ 20010
Python Programming Language - GeeksforGeeks title html70
Python Programming Language - GeeksforGeeks title html71