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.
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:
Đầ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
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" , ]
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)
scraper = AutoScraper () scraper.load ( 'books_to_scrape' ) kết quả = scraper.get_result ( url )
[ ' Á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 ']
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)
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ẻ!