Ứng dụng khách Tweepy Python

Tweepy. Twitter cho Python

Cài đặt

Cách dễ nhất để cài đặt phiên bản mới nhất từ ​​PyPI là sử dụng pip

pip install tweepy

Để sử dụng gói phụ tweepy.asynchronous, hãy nhớ cài đặt gói phụ async

pip install tweepy[async]

Bạn cũng có thể sử dụng Git để sao chép kho lưu trữ từ GitHub để cài đặt phiên bản phát triển mới nhất

git clone //github.com/tweepy/tweepy.git
cd tweepy
pip install .

Ngoài ra, cài đặt trực tiếp từ kho GitHub

pip install git+//github.com/tweepy/tweepy.git

Trăn 3. 7 - 3. 11 được hỗ trợ

liên kết

  • Tài liệu
  • Máy chủ Discord chính thức
  • Tài liệu API Twitter

Trong blog này, chúng tôi tiếp tục khám phá các tính năng tìm kiếm cao cấp của API Twitter bằng cách sử dụng giao diện API từ Tweepy, kiểm tra các giới hạn tốc độ và cách xử lý chúng, đồng thời nhận các xu hướng địa phương trên Twitter

Chúng ta cũng sẽ xem xét giao diện Máy khách do thư viện Tweepy cung cấp cho Twitter API v2 và cách làm việc với nó để lấy các loại dữ liệu khác nhau từ Twitter

Trong blog trước của loạt bài nhỏ này, chúng tôi đã đề cập đến các phương pháp có sẵn với giao diện Twitter API v1 để nhận các loại dữ liệu khác nhau từ Twitter. Chúng tôi cũng đã xem xét các loại cấp độ truy cập cho Twitter API

Sau đây, chúng tôi sẽ đề cập đến các chủ đề





tìm kiếm cao cấp

Tìm kiếm cao cấp là API đăng ký do Twitter cung cấp. Có hai sản phẩm có sẵn với API này

  • Tìm kiếm Tweets. điểm cuối 30 ngày
  • Tìm kiếm Tweets. Điểm cuối lưu trữ đầy đủ

Để bắt đầu sử dụng bất kỳ API đăng ký nào, bạn cần thiết lập môi trường nhà phát triển ⁽¹⁾ cho điểm cuối

Tìm kiếm trong 30 ngày qua

Twitter cung cấp các Tweet tìm kiếm cao cấp. API 30 ngày, cho phép bạn truy cập vào các tweet được đăng trong vòng 30 ngày qua. Bạn có thể tìm kiếm trên cơ sở dữ liệu này trong đó các tweet được khớp với truy vấn của bạn và được trả về

Tính năng này có thể được truy cập bằng phương thức search_30_day[] của lớp API

Tìm kiếm toàn bộ kho lưu trữ

Chúng ta có thể tìm kiếm toàn bộ kho lưu trữ bằng phương thức search_full_archive[]. Chúng tôi có thể chỉ định ngày và giờ mà chúng tôi muốn tìm kiếm kho lưu trữ

Giới hạn tỷ lệ

Twitter là một nguồn dữ liệu lớn vô giá, được hàng triệu nhà phát triển trên toàn thế giới truy cập hàng ngày. Nó áp đặt các giới hạn sử dụng để làm cho API có thể mở rộng và đáng tin cậy. Các giới hạn sử dụng này tùy thuộc vào phương thức xác thực của bạn

Có giới hạn về số lượng yêu cầu được thực hiện trong một khoảng thời gian cụ thể. Chúng được gọi là giới hạn tốc độ ⁽²⁾

Vì vậy, làm thế nào để chúng ta đối phó với những giới hạn này?
Làm thế nào bạn sẽ biết trạng thái của giới hạn tỷ lệ cho bạn?
Và phải làm gì nếu ứng dụng của bạn vi phạm giới hạn tốc độ?
Bạn có muốn nó kết thúc hay nó nên đợi giới hạn được bổ sung?

Hãy cùng khám phá những phương pháp này

Làm cách nào để kiểm tra trạng thái giới hạn tốc độ?

api. Phương thức rate_limit_status[] trả về số lượng yêu cầu API có sẵn cho người dùng trước khi đạt đến giới hạn API cho giờ hiện tại. Nếu bạn cung cấp thông tin đăng nhập cho người dùng, phương thức này sẽ trả về trạng thái giới hạn tốc độ cho người dùng này. Mặt khác, nó trả về trạng thái giới hạn tốc độ cho địa chỉ IP của người yêu cầu

Làm cách nào để đặt Ứng dụng đợi cho đến khi giới hạn tốc độ được bổ sung?

Khi chúng tôi khởi tạo đối tượng lớp API sau khi xác thực, chúng tôi có thể thiết lập nó để nó đợi các giới hạn tốc độ được bổ sung

Nhận xu hướng cho một vị trí

Xu hướng là một tính năng quan trọng của Twitter. Vậy làm cách nào chúng ta có thể biết những địa điểm nào đang cung cấp các chủ đề thịnh hành hiện nay?

Phương thức available_trends[] trả về id WOE [Where On Earth] và thông tin khác mà con người có thể đọc được cho các vị trí mà Twitter có thông tin về xu hướng

Bây giờ chúng ta hãy xem làm thế nào chúng ta có thể nhận được các chủ đề thịnh hành trên Twitter cho một vị trí cụ thể, có thể là một thành phố hoặc một quốc gia. Đối với điều này, chúng tôi cần id WOE của vị trí. Bạn có thể lấy cái này từ đây ⁽³⁾

Sau khi bạn có id WOE của địa điểm, việc nắm bắt các xu hướng địa phương chỉ là một dòng mã

Ứng dụng khách Tweepy cho Twitter API v2

Tweepy cung cấp giao diện API cho Twitter API v1. 1. Đối với API v2, Tweepy cung cấp giao diện Máy khách. Điều này có sẵn từ Tweepy v4. 0 trở đi, vì vậy bạn có thể cần nâng cấp cài đặt Tweepy của mình nếu bạn đã cài đặt nó một thời gian trước

Bạn có thể làm điều này bằng cách chạy lệnh sau

pip install tweepy –upgrade

xác thực ứng dụng khách

Xác thực tương tự như API, ngoại trừ bạn cần mã thông báo mang cho dự án của mình để xác thực ứng dụng khách

Nhận tên người dùng cho một ID người dùng cụ thể bằng ứng dụng khách

Nhận ID người dùng cho một tên người dùng cụ thể bằng ứng dụng khách

Nhận tên người dùng cho nhiều Id người dùng bằng ứng dụng khách

Bây giờ chúng ta hãy lấy thông tin chi tiết cho nhiều id người dùng. Chúng tôi sẽ chỉ tìm nạp một số trường người dùng ⁽⁴⁾

Sử dụng cách tiếp cận tương tự, bạn cũng có thể thử tìm nạp id người dùng cho nhiều người dùng. dùng thử

Nhận Tweets] với [các] Id Tweet bằng ứng dụng khách

Chúng tôi có thể tìm nạp một tweet với id tweet của nó bằng phương thức get_tweet[]

Điều gì xảy ra nếu chúng tôi muốn lấy các tweet cho nhiều id tweet?

Nhận người theo dõi của người dùng bằng ứng dụng khách

Bây giờ bạn có muốn kiểm tra số người theo dõi mà người dùng có không?

Nhận người dùng mà người dùng theo dõi bằng ứng dụng khách

Và người dùng này theo dõi ai?

Nhận Tweet của người dùng bằng ứng dụng khách

Tương tự như cách chúng tôi tìm nạp tweet của người dùng bằng API, chúng tôi có thể tìm nạp tweet của người dùng bằng phương thức get_users_tweets[] của khách hàng. Theo mặc định, chúng tôi sẽ chỉ có các giá trị cho id tweet và văn bản trong phản hồi. Nếu chúng tôi muốn truy cập các trường tweet khác ⁽⁵⁾, chúng tôi sẽ phải chỉ định chúng một cách riêng biệt, như được hiển thị bên dưới

Nhận các Tweet mà người dùng thích bằng ứng dụng khách

Nhận người dùng đã Tweet lại một Tweet bằng ứng dụng khách

Tìm kiếm các Tweet gần đây bằng ứng dụng khách

Phương thức search_recent_tweets[] trả về các tweet từ bảy ngày qua khớp với truy vấn tìm kiếm đã cho. Bạn cũng có thể chỉ định thời gian bắt đầu và kết thúc tìm kiếm

Theo mặc định, kết quả tìm kiếm sẽ ở dạng phản hồi chứa ID tweet và văn bản tweet. Xin lưu ý rằng tham số max_results chỉ có thể có giá trị từ 10 đến 100

Nhận số lượng Tweet cho truy vấn tìm kiếm bằng ứng dụng khách

Gần đây có bao nhiêu tweet bằng tiếng Anh về Elon Musk không phải là tweet lại?

Truy cập liên kết ⁽⁶⁾ này nếu bạn muốn biết thêm về cách tạo truy vấn để tìm kiếm tweet

Phân trang trong ứng dụng khách

Chúng tôi đã đề cập trước đó rằng tham số max_results trong khi tìm kiếm tweet có thể có giá trị tối đa là 100. Vậy chúng ta phải làm gì nếu cần hơn 100 tweet?

Phân trang trong Máy khách tương tự như cách chúng tôi sử dụng Con trỏ cho API. Hãy cho chúng tôi xem một ví dụ về cách chúng tôi có thể tìm nạp 1000 tweet. Chúng tôi đã thực hiện cùng một truy vấn mà chúng tôi đã sử dụng trong phần trước

Bạn muốn một ví dụ khác?

Chúng tôi đã đề cập đến một số phương pháp quan trọng để lấy dữ liệu từ Twitter. Còn nhiều điều nữa để khám phá. Nếu bạn muốn đọc về tất cả các phương pháp hiện có, vui lòng đọc tài liệu chính thức của Khách hàng ⁽⁷⁾

Các phương thức cho Máy khách trả về một đối tượng Phản hồi với kết quả. Trong các phần tiếp theo, chúng tôi sẽ xem xét cách chúng tôi có thể lưu kết quả tìm kiếm vào các định dạng dữ liệu khác nhau để phân tích

Sử dụng phần mở rộng để lấy thông tin người dùng và phương tiện

API Twitter cung cấp các bản mở rộng ⁽⁸⁾ như một phương tiện để mở rộng tải trọng mà chúng tôi nhận được từ tìm kiếm người dùng hoặc tra cứu tweet. Phần mở rộng giúp bao gồm dữ liệu bổ sung trong cùng một phản hồi mà không cần các truy vấn riêng biệt

Chúng tôi có thể mở rộng trên các tệp đính kèm. media_keys để xem đối tượng media, author_id để xem đối tượng người dùng và referenced_tweets. id để xem đối tượng Tweet mà Tweet được yêu cầu ban đầu đang tham chiếu. Các đối tượng mở rộng được lồng trong đối tượng bao gồm

Chúng ta hãy xem một ví dụ để lấy thông tin người dùng và phương tiện bằng cách sử dụng tính năng mở rộng

Viết kết quả tìm kiếm vào một tệp văn bản

Bây giờ chúng ta hãy lưu kết quả tìm kiếm của một truy vấn vào một tệp văn bản

Đưa kết quả tìm kiếm vào DataFrame

Pandas DataFrames rất tuyệt vời để làm việc với một lượng lớn dữ liệu. Vì vậy, hãy để chúng tôi lưu kết quả tìm kiếm của mình dưới dạng Khung dữ liệu Pandas. Nếu bạn muốn lưu dữ liệu này trong tệp csv, bạn có thể sử dụng phương thức Pandas to_csv[]

API Twitter v2 GitHub

Chúng tôi đã cố gắng đề cập đến hầu hết các trường hợp sử dụng phổ biến để lấy dữ liệu Twitter. Nếu bạn muốn khám phá thêm Twitter API v2, thì kho lưu trữ Twitter Developer Platform Resources ⁽⁹⁾ này là một nơi tuyệt vời để bắt đầu. Kho lưu trữ này có nhiều mã mẫu ⁽¹⁰⁾ cho chức năng linh hoạt do Twitter API v2 cung cấp

Phần kết luận

Trong loạt blog gồm hai phần này, chúng tôi đã khám phá cách chúng tôi có thể lấy dữ liệu từ Twitter bằng giao diện API và Ứng dụng khách của thư viện Tweepy. Chúng tôi cũng đã xem xét API Twitter và các chức năng của chúng

Bây giờ chúng tôi đã tổ chức dữ liệu độc đáo trong Pandas DataFrames, chúng tôi có thể thực hiện xử lý ngôn ngữ tự nhiên trên đó. Muốn tìm hiểu thêm?

Cho đến lúc đó, mã hóa hạnh phúc

từ chối trách nhiệm. Tất cả các khoản đầu tư và giao dịch trên thị trường chứng khoán đều có rủi ro. Mọi quyết định đặt giao dịch trên thị trường tài chính, bao gồm giao dịch cổ phiếu hoặc quyền chọn hoặc các công cụ tài chính khác là quyết định cá nhân chỉ nên được đưa ra sau khi nghiên cứu kỹ lưỡng, bao gồm đánh giá rủi ro cá nhân và tài chính cũng như sự tham gia của hỗ trợ chuyên nghiệp trong phạm vi bạn . Các chiến lược giao dịch hoặc thông tin liên quan được đề cập trong bài viết này chỉ dành cho mục đích thông tin

Tweepy có bị phản đối không?

1 điểm cuối việc sử dụng phương pháp này không được dùng nữa và chúng sẽ ngừng được phân phối kể từ ngày 29 tháng 10 năm 2022. Twitter API v2 có thể được sử dụng thay thế với StreamingClient.

Làm cách nào để truy cập dữ liệu twitter bằng Python?

Để có thể tương tác với Twitter API bằng Python, chúng ta sẽ sử dụng thư viện có tên là Tweepy . Để có thể ẩn thông tin đăng nhập khỏi mã nguồn và tải chúng dưới dạng biến môi trường, chúng tôi sẽ sử dụng python-dotenv. Đầu tiên, tạo một. env để giữ thông tin đăng nhập của bạn.

Làm cách nào để sử dụng Twitter API v2 trong Python?

Sử dụng Twitter API v2 với tweepy và pandas trong Python .
Đăng ký với Twitter
Tạo một ứng dụng trong tài khoản nhà phát triển. Thực hiện theo các bước 1 và 2 trong bài viết Twitter này
Nhận mã thông báo truy cập và mã thông báo truy cập bí mật. .
Tiếp theo, chúng ta cần cài đặt tweepy

Bạn có thể kéo bao nhiêu tweet bằng Tweepy?

Trả về các đối tượng Tweet đầy đủ cho tối đa 100 Tweet cho mỗi yêu cầu , được chỉ định bởi tham số id.

Chủ Đề