Hướng dẫn how do i automate twitter in python? - làm cách nào để tự động hóa twitter trong python?
TL; DR: Bài đăng trên blog này nhằm mục đích chứng minh cách tạo một bot twitter tùy chỉnh trong Python bằng API Twitter chính thức. Bot sẽ trả lời mỗi tweet trong đó nó được đề cập với một từ khóa cụ thể. Câu trả lời sẽ ở dạng một hình ảnh với một báo giá được viết trên đó. This blog post is aimed to demonstrate how to make a custom Twitter bot in Python using the official Twitter API. The bot will reply to every tweet in which it got mentioned with a specific keyword. The reply will be in the form of an image with a quote written on it. Show
Mã nguồn của ứng dụng này có sẵn trong kho lưu trữ GitHub này Giới thiệuTrong bài viết này, bạn sẽ học cách tạo bot Twitter của riêng bạn trong Python bằng Tweepy, một thư viện Python để truy cập API Twitter chính thức. Bạn sẽ tạo một câu trả lời để đề cập đến bot, sẽ gửi trả lời cho tweet của mọi người, người đã đề cập đến nó với một từ khóa cụ thể.Reply to mentions bot, which will send a reply to everyone's tweet who has mentioned it with a specific keyword. Câu trả lời sẽ ở dạng một hình ảnh mà bạn sẽ tạo và đặt một số văn bản lên nó. Văn bản này sẽ là một trích dẫn mà bạn sẽ tìm nạp từ API của bên thứ ba. Đây là cách nó sẽ trông như thế nào: Điều kiện tiên quyếtĐể làm theo với hướng dẫn này, hãy chắc chắn rằng bạn có: Một tài khoản AWSBạn sẽ triển khai ứng dụng cuối cùng cho AWS đàn hồi Beanstalk, vì vậy hãy chắc chắn rằng bạn đã đăng ký trên AWS. Thông tin xác thực API TwitterĐể cho phép bot của bạn tương tác với Twitter, trước tiên bạn phải đăng ký tài khoản nhà phát triển Twitter và tạo một ứng dụng mà Twitter sẽ cấp cho bạn quyền truy cập (có một lời giải thích chi tiết về bước này trong phần tiếp theo). Python 3Tại thời điểm viết bài viết này, phiên bản mới nhất là Python 3.9, nhưng luôn nên chọn phiên bản sửa đổi một điểm sau phiên bản mới nhất để bạn không phải đối mặt với bất kỳ vấn đề tương thích nào với các mô-đun bên thứ ba. Đối với hướng dẫn này, bạn có thể đi với Python 3.8. Đã cài đặt các thư viện Python bên ngoài này trên môi trường địa phương của bạn
Nghỉ ngơi tất cả các thư viện khác mà bạn sẽ thấy trong dự án này là một phần của thư viện tiêu chuẩn của Python, vì vậy bạn không cần phải cài đặt chúng. Thông tin xác thực API TwitterBất kỳ yêu cầu nào đang truy cập API Twitter chính thức đều yêu cầu OAuth xác thực. Đó là lý do tại sao bạn cần tạo những thông tin cần thiết đó để có thể sử dụng API. Những thông tin này bao gồm:
Bạn cần làm theo các bước dưới đây để tạo thông tin đăng nhập của mình sau khi bạn đã đăng ký lên Twitter: Bước 1: Áp dụng tài khoản nhà phát triển TwitterTruy cập nền tảng nhà phát triển Twitter để đăng ký tài khoản nhà phát triển. Twitter sẽ yêu cầu một số thông tin về cách bạn dự định sử dụng tài khoản nhà phát triển. Vì vậy, bạn phải chỉ định trường hợp sử dụng cho ứng dụng của bạn. Cố gắng cụ thể nhất có thể về việc sử dụng dự định của bạn để có cơ hội chấp thuận nhanh hơn và tốt hơn. Khi bạn nộp đơn, bạn sẽ hạ cánh trên màn hình này: Bước 2: Tạo một ứng dụngBạn sẽ nhận được xác nhận trở lại trong vòng một tuần. Khi quyền truy cập tài khoản nhà phát triển Twitter của bạn được phê duyệt, hãy tạo một dự án trên bảng điều khiển cổng thông tin nhà phát triển Twitter. Bạn phải thực hiện quy trình này vì Twitter chỉ cho phép thông tin xác thực cho các ứng dụng. Một ứng dụng có thể được định nghĩa là bất kỳ công cụ nào sử dụng API Twitter. Bạn cần cung cấp thông tin sau về dự án của bạn:
Bước 3: Tạo thông tin xác thựcĐể tạo thông tin xác thực của bạn, trước tiên, hãy truy cập phần Ứng dụng Twitter của bạn. Ở đây bạn sẽ tìm thấy tab "phím và mã thông báo"; Nhấp vào điều này sẽ đưa bạn đến một trang khác, nơi bạn có thể tạo thông tin đăng nhập. Sau khi tạo thông tin đăng nhập, hãy lưu chúng vào máy cục bộ của bạn để sử dụng sau này trong mã của bạn. Bên trong thư mục dự án của bạn, hãy tạo một tệp mới có tên 7 và lưu trữ bốn khóa này ở định dạng giá trị khóa như hình dưới đây:
Bạn thậm chí có thể kiểm tra thông tin đăng nhập để kiểm tra xem mọi thứ có hoạt động như mong đợi bằng cách sử dụng đoạn mã sau không:
Nếu mọi thứ là chính xác, bạn sẽ có thể thấy một phản hồi nói rằng "xác thực thành công". Hiểu Tweepy
Để cài đặt phiên bản mới nhất của Tweepy, hãy nhập lệnh sau vào bảng điều khiển của bạn:
Ngoài ra, bạn cũng có thể cài đặt nó từ kho lưu trữ GitHub.
Bây giờ chúng ta hãy hiểu một số chức năng cơ bản của nó: OAuthTweepy cung cấp một lớp 8 chăm sóc OAuth theo yêu cầu của Twitter để xác thực các cuộc gọi API. Mã bạn vừa thấy ở trên mô tả chức năng OAuth của Tweepy.Vòng bao API TwitterTweepy cũng cung cấp một lớp API để truy cập các phương thức API của Twitter Restful, bạn có thể sử dụng để truy cập các chức năng Twitter khác nhau. Bạn có thể tìm thấy các phương pháp đó ở đây và các phương pháp được sử dụng phổ biến nhất được liệt kê dưới đây:
Mô hìnhKhi bạn gọi bất kỳ phương thức API nào mà bạn vừa thấy ở trên, bạn sẽ nhận được một phiên bản lớp mô hình Tweepy để phản hồi. Điều này sẽ chứa phản hồi được trả về từ Twitter. Ví dụ:
Điều này trả về một mô hình người dùng chứa dữ liệu mà bạn có thể sử dụng thêm trong ứng dụng của mình. Ví dụ: 9Tìm nạp trích dẫnBây giờ bạn sẽ bắt đầu với bước đầu tiên để xây dựng bot của bạn. Như đã nêu ở trên, khi ai đó đề cập đến bot của bạn, nó sẽ trả lời họ với một hình ảnh có một báo giá được viết trên đó. Vì vậy, để tìm nạp báo giá ở nơi đầu tiên, bạn sẽ gọi API Trình tạo báo giá ngẫu nhiên để thực hiện điều đó, tạo tệp Python 0 và tạo một phương thức mới bên trong nó sẽ thực hiện yêu cầu HTTP cho điểm cuối API này và nhận được báo giá trong phản ứng. Đối với điều này, bạn có thể sử dụng thư viện 1 của Python.
Phản hồi trông như thế này:
API trả về phản hồi JSON, vì vậy để phân tích nó, bạn có thể sử dụng thư viện 2. JSON là một phần của thư viện tiêu chuẩn của Python, vì vậy bạn có thể trực tiếp nhập nó bằng cách sử dụng: 3.Từ phản hồi, bạn sẽ chỉ cần nội dung và tác giả, vì vậy bạn sẽ làm cho chức năng của bạn chỉ trả về các giá trị đó. Đây là cách chức năng hoàn chỉnh sẽ trông như thế nào:
Tạo hình ảnhBạn đã có văn bản của bạn. Bây giờ bạn cần tạo một hình ảnh và đặt văn bản này lên nó. Bất cứ khi nào bạn cần đối phó với bất kỳ tác vụ liên quan đến hình ảnh nào trong Python, trước tiên hãy luôn tìm kiếm thư viện 4. Gối là thư viện hình ảnh của Python, cung cấp các khả năng xử lý hình ảnh mạnh mẽ cho trình thông dịch Python cùng với việc cung cấp hỗ trợ định dạng tệp rộng rãi.Tạo một tệp riêng biệt, đặt tên cho nó 5 và thêm một hàm sẽ chấp nhận báo giá dưới dạng chuỗi trong tham số của nó và sẽ khởi tạo tất cả các biến bắt buộc để tạo hình ảnh:
Hãy hiểu làm thế nào chức năng này hoạt động:
Đây là chức năng tiếp theo trong cùng một tệp, 5, trong đó bạn sẽ đặt văn bản lên hình ảnh. Chúng ta cũng hiểu rằng hoạt động của chức năng này:
Parameters:
Cuối cùng, đây là cách 5 của bạn sẽ trông như thế nào: 0Trả lời các đề cập bằng cách kiểm tra định kỳ các tweetBạn đã có báo giá cũng như một hình ảnh sử dụng nó. Bây giờ, điều duy nhất còn lại là kiểm tra các tweet như vậy mà bạn được đề cập. Ở đây, ngoài việc chỉ kiểm tra đề cập, bạn cũng sẽ tìm kiếm một từ khóa cụ thể hoặc một hashtag trong đó. Nếu một từ khóa/hashtag cụ thể được tìm thấy trong tweet, bạn sẽ thích và gửi trả lời cho tweet cụ thể đó. Trong trường hợp này, bạn có thể đi với "#QOD" (viết tắt của "Trích dẫn trong ngày") làm từ khóa của bạn.#qod" (short for "Quote Of the Day") as your keyword. Trở lại bên trong tệp 0, đây là chức năng để đạt được điều này: 1
Sau đó, bạn lặp qua tất cả các tweet đó theo thứ tự đảo ngược, tức là, tweet lâu đời nhất trước và với mỗi tweet đề cập đến bạn, tweet được thích sử dụng 2, chỉ lấy tweet_id làm tham số của nó.Câu trả lời cho tweet này được gửi bằng cách sử dụng 3 để xử lý Twitter cho tác giả tweet gốc (bạn vượt qua nó bằng cách sử dụng Danh sách các phương tiện trong trường hợp của bạn là hình ảnh duy nhất bạn đã tạo trước đó.mention.user.screen_name), text content(if any), original tweet id on which you are replying, and finally the list of media which in your case is the single image you previously generated.Lưu id tweet để tránh lặp lạiBạn cần đảm bảo tránh trả lời lại cùng một tweet. Đối với điều đó, bạn sẽ chỉ cần lưu trữ ID tweet mà bạn đã trả lời lần cuối trong một tệp văn bản 4 và bạn sẽ chỉ kiểm tra các tweet được đăng sau đó. Điều này sẽ được tự động xử lý bằng phương thức 1 vì ID tweet có thể sắp xếp thời gian.Và bây giờ, thay vì tự chuyển Last_id cho 0, bạn sẽ chuyển tệp chứa ID cuối cùng này và chức năng của bạn sẽ tìm nạp ID từ tệp và cuối cùng, tệp sẽ được cập nhật với tệp mới nhất.Đây là cách phiên bản cuối cùng của hàm 0 sẽ trông như thế nào: 2Bạn sẽ quan sát rằng hai chức năng tiện ích mới cũng được thêm vào đây là 8 và 9. 8 lấy tên tệp làm tham số và chỉ cần lấy ID được lưu trữ bên trong tệp văn bản này, trong khi 9 cùng với tên tệp sẽ lấy tweet_id mới nhất và cập nhật tệp với ID mới nhất này.Sau khi kết hợp mọi thứ lại với nhau, đây là cách 0 hoàn chỉnh của bạn sẽ trông như thế nào: 3Triển khai bot đến máy chủBước cuối cùng sẽ là triển khai mã của bạn đến máy chủ. Trong phần này, bạn sẽ tìm hiểu cách bạn có thể triển khai ứng dụng Python cho AWS đàn hồi Beanstalk.
Đây là cách bạn sẽ tiến hành:
Tạo môi trường Beanstalk đàn hồiKhi bạn đã đăng nhập vào tài khoản AWS của mình, hãy truy cập bảng tìm kiếm ở trên cùng, nhập và chọn "beanstalk đàn hồi" và nhấp vào Tạo một ứng dụng mới ở phía trên bên phải. Nó sẽ yêu cầu của bạn:
Đối với các thẻ, bạn có thể thêm tối đa 50 thẻ cho tài nguyên của các ứng dụng Beanstalk đàn hồi AWS của bạn. Thẻ có thể giúp bạn phân loại tài nguyên. Nếu bạn đang quản lý nhiều tài nguyên ứng dụng AWS, thì các thẻ này có thể khá hữu ích. Đối với nền tảng, hãy chọn "Python" từ bản thả xuống và nó sẽ tự lấp đầy "nhánh nền tảng" và "phiên bản". Đối với mã ứng dụng, bạn sẽ tải lên mã của mình trên beanstalk đàn hồi sau. Vì vậy, bây giờ, hãy giữ "ứng dụng mẫu" được chọn và nhấn nút Tạo ứng dụng. Nó sẽ mất một vài phút trước khi nó sẵn sàng. Tạo một ứng dụng FlaskMặc dù AWS đang tạo ra một môi trường cho bạn, trong lúc này, hãy tạo một tệp mới có tên 3 và đặt mã sau trong đó: 4Đây là một ứng dụng bình đơn giản, nơi bạn có thể tạo một chức năng gọi là 4, sẽ chạy mỗi phút bằng cách sử dụng 5, cuối cùng sẽ gọi chức năng chính của tệp 0 của bạn.Xin lưu ý rằng beanstalk đàn hồi mong đợi tên của thể hiện đối tượng ứng dụng bình của bạn là 7. Nếu bạn sẽ sử dụng bất kỳ tên nào khác, thì beanstalk đàn hồi sẽ không tải ứng dụng của bạn.Tải và định cấu hình ứng dụng lên AWSĐể định cấu hình tài nguyên AWS và môi trường của bạn, bạn có thể thêm các tệp cấu hình beanstalk đàn hồi (.ebextensions) vào mã nguồn của ứng dụng web. Các tệp cấu hình là các tài liệu được định dạng YAML (JSON cũng được hỗ trợ) với phần mở rộng tệp .config được đặt bên trong thư mục có tên 8 và triển khai cùng với mã nguồn ứng dụng của bạn.Đối với dự án này, hãy tạo một thư mục mới 8 trong thư mục nguồn của mã của bạn và tạo một tệp mới dưới dạng 0 trong thư mục đó. Sao chép mã bên dưới mã trong đó: 5Bạn cũng sẽ cần tạo một tệp 1, trong đó sẽ chứa tất cả các thư viện Python bên ngoài được yêu cầu trong dự án của bạn cho Beanstalk đàn hồi để định cấu hình môi trường theo nhu cầu của ứng dụng.Để tạo tệp này, chỉ cần chạy lệnh sau: 2Bây giờ bạn sẽ cần phải khóa tất cả các tệp lại với nhau để tải lên ứng dụng Flask trên beanstalk đàn hồi. Bây giờ bạn nên có cấu trúc sau trong thư mục dự án của mình: 6Chọn tất cả các tệp và thư mục được đề cập và zip tất cả chúng lại với nhau. Quay lại ứng dụng AWS của bạn và nhấp vào mã tải lên.Upload Code. Chọn tệp zip của bạn và nhấp vào triển khai. Sau đó đợi cho đến khi ứng dụng của bạn được triển khai và biểu tượng sức khỏe chuyển sang màu xanh lá cây. Nếu bạn đã hoàn thành tất cả các bước này thành công, liên kết trang web của bạn sẽ đưa bạn đến một trang nói rằng "Theo dõi @zeal_quote!" Cách xem nhật ký lỗi trong môi trường của bạnĐể gỡ lỗi ứng dụng của bạn trong trường hợp có bất kỳ lỗi nào đến, chỉ cần làm theo các bước dưới đây để xem nhật ký cho ứng dụng của bạn:
Gói lênTrong hướng dẫn này, bạn đã trải qua quá trình phát triển và triển khai một bot twitter trong Python. Bạn cũng đã tìm hiểu về Tweepy, cách đăng ký làm nhà phát triển Twitter để sử dụng API của mình, sử dụng Tweepy để gọi API Twitter và định cấu hình môi trường Beanstalk đàn hồi AWS để triển khai ứng dụng Python của bạn. Tất cả các mã nguồn đã được sử dụng ở đây đều có sẵn trong kho Github này. Để kiểm tra hoạt động cuối cùng của bot, bạn có thể tìm @Zeal_quote trên Twitter. Hãy kiểm tra tài liệu API Tweepy hoàn chỉnh để tạo ra các bot phức tạp hơn có ý nghĩa đối với trường hợp sử dụng của bạn. Twitter có cho phép tự động hóa không?A. Bạn chỉ có thể thực hiện các hành động tự động thông qua tài khoản người dùng Twitter khác nếu bạn: Mô tả rõ ràng cho người dùng các loại hành động tự động sẽ xảy ra;nhận được sự đồng ý rõ ràng từ người dùng để thực hiện các hành động tự động đó;và.
Twitter có API Python không?Giới thiệu.Thư viện này cung cấp giao diện Python thuần túy cho API Twitter.Nó hoạt động với Python 2.7+ và Python 3. Twitter cung cấp một dịch vụ cho phép mọi người kết nối qua web, IM và SMS.This library provides a pure Python interface for the Twitter API. It works with Python 2.7+ and Python 3. Twitter provides a service that allows people to connect via the web, IM, and SMS. |