Hướng dẫn đơn giản hóa việc thu thập dữ liệu web trong Python với AutoScraper

Hướng dẫn , Scraping , Python ,Ngày 24 tháng 5 năm 20245 phút đọc

AutoScraper là một thư viện trích xuất dữ liệu web mã nguồn mở mạnh mẽ dành cho Python giúp đơn giản hóa quy trình trích xuất dữ liệu từ các trang web. Không giống như các khuôn khổ trích xuất dữ liệu web truyền thống đòi hỏi phải mã hóa nhiều để phân tích nội dung HTML, AutoScraper có thể tự động tạo các quy tắc để trích xuất thông tin mong muốn dựa trên các ví dụ bạn cung cấp. AutoScraper đặc biệt phù hợp với người mới bắt đầu trong thế giới trích xuất dữ liệu web. Giao diện thân thiện với người dùng và khả năng tạo quy tắc tự động giúp những người không có nhiều kinh nghiệm về mã hóa cũng có thể sử dụng được.   

Các tính năng chính của AutoScraper

  • Dễ sử dụng : Chỉ cần vài dòng mã, bạn có thể thiết lập một trình thu thập dữ liệu web đòi hỏi ít bảo trì.
  • Trích xuất dữ liệu hiệu quả: Mô hình của AutoScraper tìm hiểu cấu trúc của các trang web để thích ứng với những thay đổi nhỏ, giảm nhu cầu phải điều chỉnh thường xuyên.
  • Tính linh hoạt: Hỗ trợ nhiều loại trang web và có thể tích hợp vào các đường truyền dữ liệu lớn hơn.

Khởi động nhanh AutoScraper

Giả sử bạn muốn thu thập dữ liệu từ một cửa hàng thương mại điện tử mà không cần phải phân tích cú pháp HTML. AutoScraper cho phép bạn nhập tên sản phẩm vào 'wanted_list' và nó sẽ tự động tìm hiểu cấu trúc HTML và phân tích cú pháp các sản phẩm tiếp theo.

Sau đây là một ví dụ rõ ràng để chứng minh quy trình, bao gồm cả việc triển khai proxy:

Bước 1: Cài đặt AutoScraper

Đầu tiên, bạn cần cài đặt AutoScraper. Bạn có thể thực hiện việc này bằng pip:

từ auto scraper nhập AutoScraper

Bước 3: Xác định URL và danh sách mong muốn

Chỉ định URL bạn muốn trích xuất và các thành phần hoặc sản phẩm bạn muốn trích xuất. Bằng cách đó, AutoScraper có thể tìm hiểu cấu trúc HTML và phân tích chính xác tất cả các thành phần tương tự trong khuôn khổ đó:

url = 'https://books.toscrape.com/' wanted_list = [ "Tipping the Velvet" , "Soumission" , ]

Bước 4: Xây dựng Scraper

Sử dụng AutoScraper để xây dựng mô hình thu thập dữ liệu của bạn:

    scraper = AutoScraper()
    
    proxies = {
        "http": 'http://test_user112:[email protected]:6060',
        "https": 'http://test_user112:[email protected]:6060',
    }
    #  if you wish to use the same scraper again
    scraper.save('books_to_scrape')
    result = scraper.build(url, wanted_list, request_args=dict(proxies=proxies))
    print(result)

Bước 5: (Tùy chọn) Sử dụng lại trình thu thập dữ liệu trước đó

    scraper = AutoScraper () scraper.load ( 'books_to_scrape' ) kết quả = scraper.get_result ( url )

Đầu ra được tạo ra bởi mã:

[ ' Ánh sáng trong ...', 'Tipping the Velvet', 'Soumission ', 'Sharp Objects', 'Sapiens: Lược sử ...', 'The Requiem Red', 'Những bí mật nhỏ bẩn thỉu ...', ' Người phụ nữ sắp tới: Một ...', 'Những chàng trai trong ...', ' Maria đen', 'Trái tim đói khát (Thương mại tam giác ...', "Những bài thơ Sonnet của Shakespeare" , 'Giải thoát cho tôi', "Scott Pilgrim's Precious Little ..." , 'Xé toạc nó ra và ...', 'Ban nhạc của chúng ta có thể là ...', 'Olio ', 'Mesaerion: Khoa học tốt nhất ...', 'Chủ nghĩa tự do cho người mới bắt đầu', "Chỉ có dãy Himalayas" , ' Ánh sáng trên gác xép', 'Sapiens: Lược sử loài người', 'Những bí mật nhỏ bẩn thỉu để có được công việc mơ ước', ' Người phụ nữ sắp tới: Tiểu thuyết dựa trên cuộc đời của nhà nữ quyền khét tiếng, Victoria Woodhull', ' Những chàng trai trên thuyền: Chín người Mỹ và hành trình vĩ đại tìm kiếm vàng tại Thế vận hội Berlin năm 1936 ', 'Starving Hearts (Bộ ba thương mại tam giác , # 1 )', "Cuộc sống nhỏ bé quý giá của Scott Pilgrim (Scott Pilgrim # 1)" , 'Rip it Up and Start Again', 'Ban nhạc của chúng tôi có thể là cuộc sống của bạn: Những cảnh trong thế giới ngầm độc lập của Mỹ, 1981 -1991 ', 'Mesaerion: Những câu chuyện khoa học viễn tưởng hay nhất 1800 -1849 ']

Hạn chế

  Một trong những hạn chế chính của AutoScraper là nó không hỗ trợ kết xuất JavaScript hoặc dữ liệu được tải động. Nhưng đừng lo, có một giải pháp! Bằng cách sử dụng các thư viện Python như Selenium hoặc Playwright , có xử lý dữ liệu động, chúng ta có thể lấy dữ liệu HTML và sau đó để Autoscraper xử lý việc phân tích cú pháp cho chúng ta.
Nếu trang web mục tiêu của bạn sử dụng biện pháp bảo vệ chống bot , tại ProxyScrape , chúng tôi cung cấp API thu thập dữ liệu web đáng tin cậy có thể xử lý mọi việc thay bạn, giúp quá trình thu thập dữ liệu của bạn trở nên dễ dàng và hiệu quả.
Sau đây là ví dụ về cách bạn có thể sử dụng API thu thập dữ liệu web của chúng tôi với AutoScraper:  

import requests
from autoscraper import AutoScraper


def send_request(url_to_scrape):
    api_key = 'your_api_key' 
    data = {
        "url": url_to_scrape,
        "browserHtml": True  # Use browserHtml for JavaScript rendering
    }
    headers = {
        "Content-Type": "application/json",
        "X-Api-Key": api_key
    }

    response = requests.post("https://api.proxyscrape.com/v3/accounts/freebies/scraperapi/request",
                             headers=headers, json=data)

    #  we return the html data that web scraping api extracted
    return response.json()['data']['browserHtml']

if __name__ == '__main__':
    target_url = 'https://books.toscrape.com/'

    # get html data using web scraping api
    html_content = send_request(target_url)

    # parse that html data using AutoScraper
    scraper = AutoScraper()

    wanted_list = [
        "Tipping the Velvet",
        "Soumission",
    ]

    result = scraper.build(wanted_list=wanted_list, html=html_content)

    print(result)

Thực hành tốt nhất để thu thập dữ liệu web bằng AutoScraper và Proxy

  • Tôn trọng Điều khoản dịch vụ của trang web: Luôn xem xét và tuân thủ các điều khoản dịch vụ của trang web trước khi thu thập dữ liệu.
  • Sử dụng Proxy luân phiên: Để tránh bị phát hiện và giới hạn tốc độ, hãy sử dụng proxy luân phiên thay đổi địa chỉ IP thường xuyên. ProxyScrape cung cấp các proxy di động và dân dụng luân phiên, hoàn hảo cho mục đích này.
  • Hạn chế yêu cầu của bạn: Thực hiện độ trễ giữa các yêu cầu để mô phỏng hành vi của con người và giảm nguy cơ bị cấm.
  • Theo dõi hoạt động của bạn: Thường xuyên kiểm tra tình trạng hoạt động của proxy và hiệu suất của trình thu thập dữ liệu để xác định và giải quyết mọi sự cố một cách nhanh chóng.
  • Luôn cập nhật: Luôn cập nhật các tập lệnh thu thập dữ liệu và danh sách proxy để thích ứng với những thay đổi trong cấu trúc trang web và thay đổi IP proxy.

Phần kết luận

Web scraping là một công cụ mạnh mẽ để thu thập dữ liệu và với sự kết hợp phù hợp giữa AutoScraper và proxy, bạn có thể khai thác toàn bộ tiềm năng của nó. Bằng cách tích hợp ProxyScrape Với proxy cao cấp của AutoScraper, bạn có thể đảm bảo rằng các hoạt động thu thập dữ liệu của mình diễn ra hiệu quả, ẩn danh và không bị gián đoạn. Chúng tôi cung cấp cho bạn các yếu tố cần thiết để bắt đầu, nếu bạn muốn tìm hiểu sâu hơn về AutoScraper, hãy xem phần tóm tắt này .

Sẵn sàng nâng cao trò chơi thu thập dữ liệu web của bạn? Bắt đầu khám phá các khả năng của AutoScraper với ProxyScrape proxy cao cấp của 's ngay hôm nay. Truy cập ProxyScrape để đăng ký và tận dụng các giải pháp proxy hiện đại của chúng tôi.

Nếu bạn cần trợ giúp về việc thu thập dữ liệu web, hãy tham gia kênh Discord của chúng tôi, nơi bạn có thể tìm thấy sự hỗ trợ.

Chúc bạn cạo vui vẻ!