Bạn có thể sử dụng Python để cạo một trang web không?

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/
200
0
//www.geeksforgeeks.org/python-programming-language/
200
1
//www.geeksforgeeks.org/python-programming-language/
200
2

 

//www.geeksforgeeks.org/python-programming-language/
200
3

//www.geeksforgeeks.org/python-programming-language/
200
4

//www.geeksforgeeks.org/python-programming-language/
200
5_______1_______6

 

//www.geeksforgeeks.org/python-programming-language/
200
7

//www.geeksforgeeks.org/python-programming-language/
200
5_______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/
200
0
//www.geeksforgeeks.org/python-programming-language/
200
1
//www.geeksforgeeks.org/python-programming-language/
200
2

 

pip install beautifulsoup4
8

//www.geeksforgeeks.org/python-programming-language/
200
5
Python Programming Language - GeeksforGeeks
title
html
0

Python Programming Language - GeeksforGeeks
title
html
1

Python Programming Language - GeeksforGeeks
title
html
2

//www.geeksforgeeks.org/python-programming-language/
200
5_______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
html
7
Python Programming Language - GeeksforGeeks
title
html
8import
7 Most Common Time Wastes During Software Development
0

 

 

# Making a GET request

r=

//www.geeksforgeeks.org/python-programming-language/
200
0
//www.geeksforgeeks.org/python-programming-language/
200
1
//www.geeksforgeeks.org/python-programming-language/
200
2

 

//www.geeksforgeeks.org/python-programming-language/
200
3

//www.geeksforgeeks.org/python-programming-language/
200
4

//www.geeksforgeeks.org/python-programming-language/
200
5_______1_______6

 

import1

import2= import4import5

//www.geeksforgeeks.org/python-programming-language/
200
2

//www.geeksforgeeks.org/python-programming-language/
200
5import8

đầ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
html
7
Python Programming Language - GeeksforGeeks
title
html
8import
7 Most Common Time Wastes During Software Development
0

 

 

# Making a GET request

r=

//www.geeksforgeeks.org/python-programming-language/
200
0
//www.geeksforgeeks.org/python-programming-language/
200
1
//www.geeksforgeeks.org/python-programming-language/
200
2

 

import1

import2= import4import5

//www.geeksforgeeks.org/python-programming-language/
200
2

 

# Making a GET request7

//www.geeksforgeeks.org/python-programming-language/
200
5# Making a GET request9

 

r0

//www.geeksforgeeks.org/python-programming-language/
200
5r2

 

r3

//www.geeksforgeeks.org/python-programming-language/
200
5r5

 

r6

r7

đầ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
html
7
Python Programming Language - GeeksforGeeks
title
html
8import
7 Most Common Time Wastes During Software Development
0

 

 

# Making a GET request

r=

//www.geeksforgeeks.org/python-programming-language/
200
0
//www.geeksforgeeks.org/python-programming-language/
200
1
//www.geeksforgeeks.org/python-programming-language/
200
2

 

import1

import2= import4import5

//www.geeksforgeeks.org/python-programming-language/
200
2

 

//www.geeksforgeeks.org/python-programming-language/
200
06=
//www.geeksforgeeks.org/python-programming-language/
200
08
//www.geeksforgeeks.org/python-programming-language/
200
09_______1_______10
//www.geeksforgeeks.org/python-programming-language/
200
11=1_______13
//www.geeksforgeeks.org/python-programming-language/
200
2

//www.geeksforgeeks.org/python-programming-language/
200
15=
//www.geeksforgeeks.org/python-programming-language/
200
17
//www.geeksforgeeks.org/python-programming-language/
200
18
//www.geeksforgeeks.org/python-programming-language/
200
2

 

//www.geeksforgeeks.org/python-programming-language/
200
5_______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

tag with id as main. Now lets’s get the HTML content under this tag. Now let’s inspect more of the page get the content of the leftbar. 

 

 

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
    html
    7
    Python Programming Language - GeeksforGeeks
    title
    html
    8import
    7 Most Common Time Wastes During Software Development
    0

     

     

    # Making a GET request

    r=

    //www.geeksforgeeks.org/python-programming-language/
    200
    0
    //www.geeksforgeeks.org/python-programming-language/
    200
    1
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    import1

    import2= import4import5

    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    40

    //www.geeksforgeeks.org/python-programming-language/
    200
    06=
    //www.geeksforgeeks.org/python-programming-language/
    200
    08
    //www.geeksforgeeks.org/python-programming-language/
    200
    09_______1_______10
    //www.geeksforgeeks.org/python-programming-language/
    200
    46=
    //www.geeksforgeeks.org/python-programming-language/
    200
    48
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    50

    //www.geeksforgeeks.org/python-programming-language/
    200
    51=
    //www.geeksforgeeks.org/python-programming-language/
    200
    53
    //www.geeksforgeeks.org/python-programming-language/
    200
    54
    //www.geeksforgeeks.org/python-programming-language/
    200
    10
    //www.geeksforgeeks.org/python-programming-language/
    200
    11=1_______58
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    60

    //www.geeksforgeeks.org/python-programming-language/
    200
    15=
    //www.geeksforgeeks.org/python-programming-language/
    200
    63
    //www.geeksforgeeks.org/python-programming-language/
    200
    64
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    5_______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
    html
    7
    Python Programming Language - GeeksforGeeks
    title
    html
    8import
    7 Most Common Time Wastes During Software Development
    0

     

     

    # Making a GET request

    r=

    //www.geeksforgeeks.org/python-programming-language/
    200
    0
    //www.geeksforgeeks.org/python-programming-language/
    200
    1
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    import1

    import2= import4import5

    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    06=
    //www.geeksforgeeks.org/python-programming-language/
    200
    08
    //www.geeksforgeeks.org/python-programming-language/
    200
    09_______1_______10
    //www.geeksforgeeks.org/python-programming-language/
    200
    11=1_______13
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    95=
    //www.geeksforgeeks.org/python-programming-language/
    200
    17
    //www.geeksforgeeks.org/python-programming-language/
    200
    18_______1_______2

     

    pip install beautifulsoup4
    00
    pip install beautifulsoup4
    01
    pip install beautifulsoup4
    02
    pip install beautifulsoup4
    03

    pip install beautifulsoup4
    04
    //www.geeksforgeeks.org/python-programming-language/
    200
    5
    pip install beautifulsoup4
    06

     
     

    đầ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
    html
    7
    Python Programming Language - GeeksforGeeks
    title
    html
    8import
    7 Most Common Time Wastes During Software Development
    0

     

     

    # Making a GET request

    r=

    //www.geeksforgeeks.org/python-programming-language/
    200
    0
    //www.geeksforgeeks.org/python-programming-language/
    200
    1
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    import1

    import2= import4import5

    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    40

    //www.geeksforgeeks.org/python-programming-language/
    200
    06=
    //www.geeksforgeeks.org/python-programming-language/
    200
    08
    //www.geeksforgeeks.org/python-programming-language/
    200
    09_______1_______10
    //www.geeksforgeeks.org/python-programming-language/
    200
    46=
    //www.geeksforgeeks.org/python-programming-language/
    200
    48
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    50

    //www.geeksforgeeks.org/python-programming-language/
    200
    51=
    //www.geeksforgeeks.org/python-programming-language/
    200
    53
    //www.geeksforgeeks.org/python-programming-language/
    200
    54
    //www.geeksforgeeks.org/python-programming-language/
    200
    10
    //www.geeksforgeeks.org/python-programming-language/
    200
    11=1_______58
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    //www.geeksforgeeks.org/python-programming-language/
    200
    60

    //www.geeksforgeeks.org/python-programming-language/
    200
    95=
    //www.geeksforgeeks.org/python-programming-language/
    200
    63
    //www.geeksforgeeks.org/python-programming-language/
    200
    64_______1_______2

     

    pip install beautifulsoup4
    00
    pip install beautifulsoup4
    01
    pip install beautifulsoup4
    02
    pip install beautifulsoup4
    03

    pip install beautifulsoup4
    04
    //www.geeksforgeeks.org/python-programming-language/
    200
    5
    pip install beautifulsoup4
    06

     
     

    đầ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
    html
    7
    Python Programming Language - GeeksforGeeks
    title
    html
    8import
    7 Most Common Time Wastes During Software Development
    0

     

     

    # Making a GET request

    r=

    //www.geeksforgeeks.org/python-programming-language/
    200
    0
    //www.geeksforgeeks.org/python-programming-language/
    200
    1
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    import1

    import2= import4import5

    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    pip install beautifulsoup4
    76

    pip install beautifulsoup4
    00
    pip install beautifulsoup4
    78
    pip install beautifulsoup4
    02
    pip install beautifulsoup4
    80
    pip install beautifulsoup4
    81
    pip install beautifulsoup4
    82

    pip install beautifulsoup4
    04
    //www.geeksforgeeks.org/python-programming-language/
    200
    5
    pip install beautifulsoup4
    85
    pip install beautifulsoup4
    86
    pip install beautifulsoup4
    87

     
     

    đầ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
    html
    7
    Python Programming Language - GeeksforGeeks
    title
    html
    8import
    7 Most Common Time Wastes During Software Development
    0

     

     

    # Making a GET request

    r=

    //www.geeksforgeeks.org/python-programming-language/
    200
    0
    //www.geeksforgeeks.org/python-programming-language/
    200
    1
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    import1

    import2= import4import5

    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    Python Programming Language - GeeksforGeeks
    title
    html
    06____238_______
    Python Programming Language - GeeksforGeeks
    title
    html
    08

     

    Python Programming Language - GeeksforGeeks
    title
    html
    09=
    Python Programming Language - GeeksforGeeks
    title
    html
    11
    Python Programming Language - GeeksforGeeks
    title
    html
    12
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

    pip install beautifulsoup4
    00
    Python Programming Language - GeeksforGeeks
    title
    html
    15
    pip install beautifulsoup4
    02
    Python Programming Language - GeeksforGeeks
    title
    html
    17

    pip install beautifulsoup4
    04
    Python Programming Language - GeeksforGeeks
    title
    html
    19=
    Python Programming Language - GeeksforGeeks
    title
    html
    21
    Python Programming Language - GeeksforGeeks
    title
    html
    22
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

    pip install beautifulsoup4
    04
    Python Programming Language - GeeksforGeeks
    title
    html
    25=
    Python Programming Language - GeeksforGeeks
    title
    html
    21
    Python Programming Language - GeeksforGeeks
    title
    html
    28
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

    pip install beautifulsoup4
    04
    Python Programming Language - GeeksforGeeks
    title
    html
    31
    Python Programming Language - GeeksforGeeks
    title
    html
    32
    Python Programming Language - GeeksforGeeks
    title
    html
    33
    Python Programming Language - GeeksforGeeks
    title
    html
    34
    Python Programming Language - GeeksforGeeks
    title
    html
    35

    pip install beautifulsoup4
    04

    pip install beautifulsoup4
    00
    Python Programming Language - GeeksforGeeks
    title
    html
    15
    pip install beautifulsoup4
    02
    Python Programming Language - GeeksforGeeks
    title
    html
    40

    pip install beautifulsoup4
    04
    //www.geeksforgeeks.org/python-programming-language/
    200
    5
    Python Programming Language - GeeksforGeeks
    title
    html
    43

     
     

    đầ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
    html
    7
    Python Programming Language - GeeksforGeeks
    title
    html
    8import
    Python Programming Language - GeeksforGeeks
    title
    html
    49

     

    Python Programming Language - GeeksforGeeks
    title
    html
    50=
    Python Programming Language - GeeksforGeeks
    title
    html
    52

     

    Python Programming Language - GeeksforGeeks
    title
    html
    53____238_______
    Python Programming Language - GeeksforGeeks
    title
    html
    55

    import2=

    Python Programming Language - GeeksforGeeks
    title
    html
    58import5
    //www.geeksforgeeks.org/python-programming-language/
    200
    2

     

    Python Programming Language - GeeksforGeeks
    title
    html
    61=
    pip install beautifulsoup4
    80
    //www.geeksforgeeks.org/python-programming-language/
    200
    09
    7 Most Common Time Wastes During Software Development
    15=16_______67
    Python Programming Language - GeeksforGeeks
    title
    html
    68
    //www.geeksforgeeks.org/python-programming-language/
    200
    10
    Python Programming Language - GeeksforGeeks
    title
    html
    70
    Python Programming Language - GeeksforGeeks
    title
    html
    71

    Python có thể cạo các trang web không?

    Bộ sưu tập thư viện lớn. Python có một bộ thư viện khổng lồ như Numpy, Matlplotlib, Pandas, v.v. , cung cấp các phương thức và dịch vụ cho các mục đích khác nhau. Do đó, nó phù hợp để quét web và để thao tác thêm dữ liệu được trích xuất.

    Là nó hợp pháp để cạo các trang web?

    Việc thu thập dữ liệu trên web là hoàn toàn hợp pháp nếu bạn thu thập dữ liệu có sẵn công khai trên internet . Tuy nhiên, một số loại dữ liệu được bảo vệ theo quy định quốc tế, vì vậy hãy cẩn thận khi lấy dữ liệu cá nhân, tài sản trí tuệ hoặc dữ liệu bí mật.

    Python có tốt nhất để quét web không?

    Python là một lựa chọn tuyệt vời cho các nhà phát triển để xây dựng trình quét web vì nó bao gồm các thư viện gốc được thiết kế dành riêng cho việc quét web. Dễ hiểu- Đọc mã Python tương tự như đọc một câu lệnh tiếng Anh, làm cho cú pháp Python trở nên đơn giản để học.

Chủ Đề