Hướng dẫn cạo Nội dung Google Docs công khai với Python

Bình luận: 0

Thông tin giải ngân theo mức giá bất thường hiện nay và nhiều tệp được lưu trữ trên Google Docs. Vì vậy, đó thực sự là, Google Docs Data Scraping là một cách tuyệt vời để tiết kiệm rất nhiều thời gian và công sức.

Trong bài viết này, chúng tôi sẽ kiểm tra các phương pháp giúp tự động hóa quá trình. Chúng tôi sẽ sử dụng Python để cạo Google Docs và lưu các tệp đó ở định dạng JSON, đây là định dạng lưu trữ dữ liệu phổ biến.

Tại sao Scrape Google Docs?

Tự động truy xuất dữ liệu được lưu trữ trên các tài liệu công cộng có thể được sử dụng vì nhiều lý do. Nó giúp tự động hóa việc thu thập thông tin mà không có bất kỳ sự can thiệp thủ công nào. Điều này rất hữu ích cho:

  • các dự án nghiên cứu;
  • các nhiệm vụ giám sát;
  • tạo cơ sở dữ liệu riêng.

Để cạo các tài liệu của Google với Python cũng hữu ích để phân tích nội dung của các tệp đó. Điều này làm cho dịch vụ này trở thành một nguồn tài nguyên tuyệt vời để nhận thông tin chính xác và chuyên sâu sau này được xử lý bằng các báo cáo hoặc hệ thống đào tạo máy học.

Các công cụ và thư viện chính cho Google Docs Scraping

Để thực hiện hiệu quả việc quét dữ liệu Google Docs, bạn cần chọn các công cụ thích hợp trong Python cho tác vụ này. Một số thư viện như sau:

  • Yêu cầu là một thư viện cơ bản được sử dụng để thực hiện các hoạt động liên quan đến HTTP. Điều này cho phép người dùng tải xuống và trích xuất nội dung HTML.
  • Đẹp là một công cụ xử lý rất hiệu quả để phân tích nội dung HTML. Trong khi sử dụng đẹp, người ta có thể dễ dàng có được các phần yêu cầu của văn bản hoặc các phần tử từ tệp.
  • API Google Docs cung cấp một phương tiện để làm việc với các tệp theo chương trình. Nó cho phép truy cập vào các thành phần tài liệu như tiêu đề, phần, kiểu, và nhiều hơn nữa.

Chọn giữa các công cụ này phụ thuộc vào việc mục tiêu của bạn là đọc một tệp hay nếu bạn muốn thực hiện các tương tác nâng cao bằng cách sử dụng cuộc gọi API trên dữ liệu có cấu trúc.

Thiết lập môi trường của bạn cho Google Docs Web Scraping

Bây giờ, tôi muốn chúng tôi kiểm tra cách thiết lập môi trường làm việc và hoàn thành các quy trình được phác thảo.

Bước 1: Chuẩn bị môi trường Python của bạn

Đảm bảo bạn đã cài đặt Python. Kế tiếp:

  • Thiết lập và bắt đầu môi trường ảo của bạn:
    
    python -m venv myenv
    myenv\Scripts\activate
    source myenv/bin/activate
    
  • Cài đặt tất cả các phụ thuộc cần thiết:
    
    pip install requests beautifulsoup4 google-api-python-client gspread google-auth
    

Bước 2: Có được quyền truy cập vào Google Docs công khai

Mở tập tin liên quan. Các tài liệu nên được ủy quyền công khai. Thực hiện theo các bước dưới đây:

  1. Mở tệp.
  2. Trên thanh công cụ phía trên, nhấp vào “Tệp” → “Chia sẻ” → “Xuất bản lên web” hoặc bạn có thể chọn “Chia sẻ” với cài đặt “Bất kỳ ai có liên kết đều có thể xem.”

Không có điều này, tập lệnh của bạn sẽ trả về lỗi truy cập.

Bước 3: Khám phá cấu trúc của URL Google Docs

Ngay sau khi một tài liệu được xuất bản, URL của nó có định dạng sau:


https://docs.google.com/document/d/1AbCdEfGhIjKlMnOpQrStUvWxYz/view

1AbCdEfGhIjKlMnOpQrStUvWxYz - ID tệp. Đây là cách bạn sẽ truy cập tài liệu bằng cách sử dụng API hoặc HTML Scraping.

Bước 4: Chọn cách tiếp cận phù hợp cho Google Docs Data Scraping

Dưới đây là hai cách tiếp cận chính để trích xuất thông tin từ các tài liệu như vậy:

  • HTML Scraping. Nếu tệp đã được xuất bản dưới dạng trang web, bạn có thể truy cập nó bằng các yêu cầu và phân tích nó với BeautifulSoup.
  • API Google Docs. Điều này nên được sử dụng khi dữ liệu không được định dạng sẽ được cấu trúc, vì nó không yêu cầu sử dụng HTML.

HTML đủ cho các trường hợp ít phức tạp hơn, trong khi API là cần thiết ở những trường hợp phức tạp hơn.

Bước 5: Phân tích nội dung HTML của Google Docs đã xuất bản

Khi một tệp đã được xuất bản dưới dạng trang web, nó có thể truy xuất HTML của nó và sau đó phân tích nó để có được thông tin liên quan:


import requests
from bs4 import BeautifulSoup

url = 'https://docs.google.com/document/d/YOUR_ID/pub'

response = requests.get(url)
if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')

    # Trích xuất tất cả văn bản từ trang
    text = soup.get_text()
    print(text)
else:
    print(f'Access error: {response.status_code}')

Đây là thuật toán hoạt động:

  • Chúng tôi thực hiện yêu cầu HTTP Nhận yêu cầu đến URL tài liệu bằng cách sử dụng các yêu cầu.
  • Sau đó phân tích trang web với BeautifulSoup.
  • Sau đó làm sạch nội dung và trích xuất văn bản đơn giản có liên quan.

Bước 6: Sử dụng API Google Docs để trích xuất dữ liệu

Nếu cần có độ chính xác hơn đối với thông tin cần thiết, các phương tiện thích hợp nhất là thông qua người xử lý và tài liệu do công ty cấp, do đó sử dụng API Google Docs.

Bắt đầu các bước:

Tạo một dự án trong bảng điều khiển đám mây

  1. Truy cập bảng điều khiển Google Cloud.
  2. Tạo dự án mới.
  3. Trong phần API API & Services, bật API Google Docs.
  4. Tạo thông tin đăng nhập:
    • Chọn tài khoản dịch vụ trực tuyến.
    • Lưu tệp JSON được tạo, bạn sẽ cần nó trong mã của mình.

Kết nối với API Google Docs và truy xuất tài liệu

Có vẻ như thế này:


from google.oauth2 import service_account
from googleapiclient.discovery import build

# Đường dẫn đến tệp JSON tài khoản dịch vụ của bạn
SERVICE_ACCOUNT_FILE = 'path/to/your/service_account.json'

# ID tài liệu của bạn
DOCUMENT_ID = 'YOUR_ID'

# Truy cập cấu hình
credentials = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE,
    scopes=['https://www.googleapis.com/vn/auth/documents.readonly']
)

service = build('docs', 'v1', credentials=credentials)

# Lấy lại nội dung tài liệu
document = service.documents().get(documentId=DOCUMENT_ID).execute()

# In tiêu đề tài liệu
print('Document title: {}'.format(document.get('title')))

Bước 7: Lưu trữ và phân tích dữ liệu cạo

Khi bạn có được dữ liệu, cần lưu trữ nó một cách hiệu quả để có thể lấy lại sau.

Save to JSON:


import json

# Giả sử bạn có một biến `data` với nội dung được trích xuất
with open('output.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

Sau đó, bạn có thể phân tích hoặc thay đổi dữ liệu theo yêu cầu của bạn.

Bước 8: Tự động hóa việc thu thập dữ liệu

Cài đặt cập nhật tự động sẽ tốt hơn so với việc tự thực hiện tập lệnh của bạn.

Dưới đây là một ví dụ về tập lệnh tự động hóa:


import time

def main():
    # Mã của bạn để trích xuất và lưu dữ liệu
    print("Data harvesting...")

# Chạy cứ sau 6 giờ
while True:
    main()
    time.sleep(6 * 60 * 60)

Những thách thức và cân nhắc về đạo đức

Mặc dù nó có thể xuất hiện đơn giản trong khi Google Docs Data Scraping, các thách thức cụ thể bao gồm:

  • Hạn chế truy cập - các tài liệu được đánh dấu là công khai có thể không cho phép toàn bộ truy cập không bị cản trở cho các cài đặt khác nhau.
  • Thay đổi trong cấu trúc HTML - nó có thể thay đổi mã back-end bất cứ lúc nào. Chức năng ngày nay có thể ngừng hoạt động vào ngày mai.
  • Cập nhật thách thức - nếu một tài liệu được cập nhật thường xuyên, hãy xác định cách nắm bắt dữ liệu một cách hiệu quả nhất.

Cuối cùng và chắc chắn là quan trọng nhất là Đạo đức:

  • Không vi phạm hướng dẫn quyền riêng tư hoặc quyền riêng tư.
  • Đảm bảo rằng dữ liệu được thu thập là từ các tài liệu có bản chất công khai.
  • Không bao giờ coi thường các điều khoản sử dụng cho các dịch vụ vì những điều này có thể dẫn đến các lệnh cấm hoặc hành động pháp lý đang được thực hiện chống lại bạn.

Phần kết luận

Chúng tôi đã xem xét chuyên sâu về dữ liệu Google Docs sử dụng Python. Mức độ phức tạp của dự án của bạn sẽ ra lệnh cho dù bạn chọn API HTML hay API Google Docs. Khi xử lý các tài liệu công cộng, tốt nhất là hãy thận trọng và xem xét các phân nhánh pháp lý của việc cạo web.

Củ như như vậy cung cấp các khả năng rộng lớn như tiến hành nghiên cứu, giám sát thay đổi và phát triển các dịch vụ chuyên ngành. Với kiến ​​thức này, bạn có thể tự động hóa việc tự động hóa Google Docs công khai bằng cách sử dụng Python và hợp lý hóa việc tự động hóa các tác vụ định kỳ.

Bình luận:

0 Bình luận