AutoScraper là một thư viện quét web mã nguồn mở mạnh mẽ dành cho Python giúp đơn giản hóa quá trình trích xuất dữ liệu từ các trang web. Không giống như các khung quét web truyền thống yêu cầu mã hóa mở rộng để phân tích cú pháp 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 cho người mới bắt đầu trong thế giới quét web. Giao diện thân thiện với người dùng và tạo quy tắc tự động của nó giúp những người có thể không có nhiều kinh nghiệm viết mã có thể truy cập được.
Giả sử bạn muốn cạo một cửa hàng thương mại điện tử mà không cần xử lý 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à tự phân tích cú pháp các sản phẩm tiếp theo.
Dưới đâ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:
Trước tiên, bạn sẽ cần cài đặt AutoScraper. Bạn có thể làm điều này bằng cách sử dụng pip:
từ autoscraper nhập AutoScraper
Chỉ định URL bạn muốn cạo và các yếu tố 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 phần tử tương tự trong khung đó:
URL = 'https://books.toscrape.com/'
wanted_list = [
"Lật nhung",
"Soumission",
]
Sử dụng AutoScraper để xây dựng mô hình cạo 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)
scraper = AutoScraper () scraper.load('books_to_scrape')
Kết quả = scraper.get_result(URL)
['Một ánh sáng trong ...',
'Lật nhung',
'Soumission',
"Sắc bén Đối tượng',
'Sapiens: Một lịch sử ngắn gọn ...',
"Các Requiem Red', 'Những bí mật nhỏ bẩn thỉu ...',
"Các Người phụ nữ sắp tới: A...',
"Các Những chàng trai trong ...',
"Các Maria đen ',
"Chết đói Trái tim (Giao dịch tam giác...',
"Những bản sonnet của Shakespeare",
"Đặt Tôi tự do',
"Tiểu tử quý giá của Scott Pilgrim...",
'Xé nó ra và...',
"Của chúng tôi Ban nhạc 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 Hy Mã Lạp Sơn",
"A Ánh sáng trên gác mái ',
'Sapiens: Lược sử nhân loại',
"Các Những bí mật nhỏ bẩn thỉu để có được công việc mơ ước của bạn ',
"Các Người phụ nữ sắp tới: Một cuốn tiểu thuyết dựa trên cuộc đời của nhà nữ quyền khét tiếng, Victoria Woodhull ',
"Các Boys in the Boat: Nine Americans and Their Epic Quest for Gold tại Thế vận hội Berlin 1936 ',
"Chết đói Trái tim (Triangular Trade Trilogy, #1)',
"Cuộc sống nhỏ bé quý giá của Scott Pilgrim (Scott Pilgrim # 1)",
'Xé nó ra và bắt đầu lại',
"Của chúng tôi Ban nhạc có thể là cuộc sống của bạn: Cảnh trong Indie Underground của Mỹ, 1981-1991 ',
'Mesaerion: Những câu chuyện khoa học viễn tưởng hay nhất 1800-1849']
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 lắng, 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, 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 bảo vệ chống bot, tại ProxyScrape, chúng tôi cung cấp API quét web đáng tin cậy đảm nhận mọi thứ cho 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ả.
Dưới đây là ví dụ về cách bạn có thể sử dụng API quét 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)
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 đúng đắn giữa AutoScraper và proxy, bạn có thể mở khóa toàn bộ tiềm năng của nó. Bằng cách tích hợp ProxyScrapeProxy cao cấp, bạn đảm bảo rằng các hoạt động cạo của bạn 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 để giúp bạn bắt đầu, nếu bạn muốn nâng cao hơn với AutoScraper, hãy kiểm tra ý chính này.
Bạn đã sẵn sàng nâng tầm trò chơi cạo web của mình chưa? Bắt đầu khám phá các khả năng của AutoScraper với ProxyScrapecủa proxy cao cấp ngày hôm nay. Thăm 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 hỗ trợ quét web, vui lòng tham gia kênh Discord của chúng tôi, nơi bạn có thể tìm thấy hỗ trợ.
Chúc mừng cạo!