Trình quét Twitter của Python

Hôm nay, tôi sẽ chỉ cho bạn cách chúng tôi có thể cạo các tweet bằng một trong các thư viện trong python, được gọi là snscrape

kết quả
  1. Quét các Tweet dựa trên Hashtag hoặc Dấu thời gian
  2. Tweets không giới hạn có thể được cạo
  3. Dữ liệu đã cạo sẽ có thể lưu ở định dạng JSON
Cài đặt môi trường
  1. Tải xuống Anaconda từ đây
  2. Sao chép kho lưu trữ Tweets Scraping của tôi tại đây
  3. Tạo môi trường Conda bằng cách sử dụng môi trường. yml, sử dụng lệnh
    snscrape --max-results 100 twitter-hashtag covid19
    2
  4. Kích hoạt môi trường Conda, sử dụng lệnh _________ 13
ví dụ
  • Nhận tất cả các tweet của người dùng cụ thể
snscrape twitter-user 
  • Nhận 100 tweet mới nhất với thẻ bắt đầu bằng # covid19
snscrape --max-results 100 twitter-hashtag covid19
  • Nhận 100 tweet mới nhất với thẻ bắt đầu bằng # covid19
snscrape --jsonl --progress --max-results 100 --since 2020-06-01 twitter-hashtag "relax until:2020-07-01" > text-query-tweets.json
Cách sử dụng
  • snscrape --max-results 100 twitter-hashtag covid19
    4 để nhận đầu ra dưới dạng JSONL. Điều này bao gồm tất cả thông tin được trích xuất bởi snscrape [e. g. nội dung tin nhắn, ngày giờ, hình ảnh;
  • snscrape --max-results 100 twitter-hashtag covid19
    5 để có được một mục trên thực thể đang được cạo, e. g. người dùng hoặc kênh. Điều này không được hỗ trợ trên tất cả các scrapers. [Bạn có thể sử dụng điều này cùng với
    snscrape --max-results 100 twitter-hashtag covid19
    6 để chỉ tìm nạp thông tin thực thể. ]
  • snscrape --max-results 100 twitter-hashtag covid19
    7 để tùy chỉnh định dạng đầu ra
  • snscrape --max-results 100 twitter-hashtag covid19
    8 hoặc
    snscrape --max-results 100 twitter-hashtag covid19
    0 cung cấp thông tin chi tiết về các tùy chọn có sẵn.
    snscrape --max-results 100 twitter-hashtag covid19
    8 cũng liệt kê tất cả các mô-đun có sẵn
Người giới thiệu
  • https. //github. com/MartinBeckUT/TwitterScraper/tree/master/snscrape
về tác giả

Bài viết này được viết bởi Han Sheng, Trưởng nhóm kỹ thuật tại Arkmind, Malaysia. Anh ấy có niềm đam mê với những thứ liên quan đến Thiết kế/Kiến trúc phần mềm, Thị giác máy tính và cả Thiết bị biên. Anh ấy đã tạo ra một số Ứng dụng Web/Di động dựa trên AI để giúp khách hàng giải quyết các vấn đề trong thế giới thực. Vui lòng đọc về anh ấy qua hồ sơ Github của anh ấy

API [Giao diện lập trình ứng dụng] là giao diện phần mềm cho phép hai ứng dụng tương tác với nhau mà không cần tương tác với người dùng. API cung cấp cách để nhà phát triển yêu cầu dịch vụ từ hệ điều hành hoặc ứng dụng khác và hiển thị dữ liệu trong các ngữ cảnh khác nhau và trên nhiều nền tảng

API hoạt động như thế nào?

API giao tiếp thông qua một bộ quy tắc xác định cách ứng dụng và máy tính giao tiếp với nhau. Nói cách khác, một API đóng vai trò trung gian giữa hai máy bất kỳ muốn kết nối với nhau để thực hiện một nhiệm vụ cụ thể

Ví dụ: giả sử bạn muốn kết hợp bản đồ vị trí của mình trên trang web của mình. Nền tảng của Google cung cấp API cho phép người dùng được ủy quyền truy cập và truy xuất bản đồ từ trang web của họ. Khi trang web của bạn được khởi chạy, bạn được kết nối với nền tảng Google nơi bạn được xác thực và bản đồ được truy xuất và gửi đến trang web của bạn nơi nó được hiển thị

API Twitter cung cấp cho các công ty, nhà phát triển và người dùng quyền truy cập có lập trình vào lượng dữ liệu công khai khổng lồ của Twitter. Twitter định nghĩa nền tảng của mình là “những gì đang xảy ra trên thế giới và những gì mọi người đang nói đến ngay bây giờ. ” Twitter hiện có 396. 5 triệu người dùng. 206 triệu người dùng truy cập Twitter hàng ngày và 75% trong số họ không có trụ sở tại Hoa Kỳ

Nếu bạn muốn mô tả chi tiết hơn về API Twitter, hãy truy cập liên kết này

Thiết lập tài khoản nhà phát triển Twitter

Bạn được yêu cầu thiết lập tài khoản nhà phát triển Twitter trước khi sử dụng API của họ

Dưới đây là các bước để thiết lập tài khoản nhà phát triển Twitter

1. Tạo tài khoản Twitter cá nhân. Nếu bạn đã có tài khoản Twitter, bạn có thể bỏ qua bước này

Hình ảnh của Michael Galarnyk

2. Truy cập Nền tảng dành cho nhà phát triển từ liên kết này và nhấp vào nút Đăng ký

3. Trả lời một số câu hỏi và nhấp vào nút Tiếp theo

4. Xem xét và chấp nhận thỏa thuận dành cho nhà phát triển, sau đó nhấp vào Gửi đơn đăng ký

Thường mất hai hoặc ba ngày để đơn đăng ký của bạn được Nhóm nhà phát triển Twitter xem xét và phê duyệt. Twitter có thể yêu cầu bạn cung cấp thêm thông tin về mục đích sử dụng API của bạn trước khi phê duyệt. Hãy thật cụ thể và chi tiết trong câu trả lời của bạn đối với các câu hỏi trên twitter

Đã đến lúc xác minh địa chỉ email của bạn

5. Twitter gửi cho bạn một thông báo xác nhận email. Nhấp vào Xác nhận email của bạn

6. Sau khi xác nhận địa chỉ email của bạn, hãy nhập tên cho ứng dụng của bạn và nhấp vào Nhận khóa

7. Một màn hình sẽ hiển thị Khóa API và Mã thông báo Bearer của bạn [Tôi đã bỏ qua việc hiển thị các khóa API và mã thông báo vì mục đích bảo mật]. Bạn có thể tạo mã thông báo khóa truy cập của mình trong Cổng thông tin dành cho nhà phát triển trong ứng dụng dự án bằng cách nhấp vào biểu tượng khóa rồi nhấp vào Tạo trong phần Mã thông báo truy cập và bí mật. Sao chép và giữ các khóa này ở một vị trí an toàn vì bạn sẽ cần đến chúng khi quét web. Nếu quên sao chép khóa, bạn luôn có thể tạo khóa mới trong Cổng thông tin dành cho nhà phát triển

Chương trình

Phần còn lại của bài viết này sẽ trình bày một chương trình python sẽ sử dụng API Twitter để thu thập và lưu trữ dữ liệu Twitter. Các bước sau đây sẽ được thực hiện

Cài đặt Gói và Thư viện

# Install Tweepy.
pip install tweepy
# Import the libraries.
import os
import tweepy as tw
import pandas as pd
import numpy as np

Chỉ định API nhà phát triển Twitter của bạn và mã thông báo truy cập cho các biến

api_key = 'API Key Here' 
api_secret = 'API Secret Key Here'
access_token = 'Access Token Here'
access_token_secret = 'Access Token Secret Here'

Xác thực API và Mã thông báo truy cập

auth = tw.OAuthHandler[api_key, api_secret]
auth.set_access_token[access_token, access_token_secret]
api = tw.API[auth, wait_on_rate_limit=True]

Xác định các từ tìm kiếm và ngày bắt đầu dưới dạng các biến

search_words = "LA rams"
date_since = "2022-01-01"

Thu thập các tweet bằng các từ tìm kiếm và ngày bắt đầu

________số 8

Xác định chức năng để nhận người dùng Twitter, thời gian tweet và văn bản tweet cho các tweet phù hợp với tiêu chí tìm kiếm và tạo khung dữ liệu mới

def get_related_tweets[key_word]:
twitter_users = []
tweet_time = []
tweet_string = []
for tweet in tw.Cursor[api.search,q=key_word, count=1000].items[1000]:
if [not tweet.retweeted] and ['RT @' not in tweet.text]:
if tweet.lang == "en":
twitter_users.append[tweet.user.name]
tweet_time.append[tweet.created_at]
tweet_string.append[tweet.text]

df = pd.DataFrame[{'name':twitter_users, 'time': tweet_time, 'tweet': tweet_string}]
df.to_csv[f"{key_word}.csv"]
return df

Gọi chức năng để nhận các tweet liên quan và hiển thị một vài tweet

snscrape --max-results 100 twitter-hashtag covid19
0

Khi bạn có dữ liệu ở định dạng có cấu trúc, bạn có thể dễ dàng sử dụng dữ liệu đó trong các dự án và phân tích máy học của mình. Dữ liệu văn bản Twitter lý tưởng cho Xử lý ngôn ngữ tự nhiên và phân tích tình cảm về nhiều chủ đề khác nhau

Để tất cả chúng cùng nhau…

snscrape --max-results 100 twitter-hashtag covid19
1

Cảm ơn rất nhiều vì đã đọc bài viết của tôi. Nếu bạn có bất kỳ nhận xét hoặc phản hồi nào, vui lòng thêm chúng bên dưới

Nếu bạn thích đọc những câu chuyện như thế này và muốn hỗ trợ tôi với tư cách là một nhà văn, hãy cân nhắc đăng ký để trở thành thành viên Medium. Tư cách thành viên cho phép bạn truy cập không giới hạn vào tất cả các bài viết trên Medium. Bạn có thể đăng ký bằng liên kết này https. //Trung bình. com/@dnigg/thành viên

Thêm nội dung tại PlainEnglish. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Theo dõi chúng tôi trên Twitter và LinkedIn. Kiểm tra Sự bất hòa trong cộng đồng của chúng tôi và tham gia Tập thể tài năng của chúng tôi

Bạn có thể quét Twitter bằng Python không?

Tweepy là một thư viện Python để tích hợp với Twitter API. Vì Tweepy được kết nối với API Twitter, bạn có thể thực hiện các truy vấn phức tạp ngoài việc quét các tweet. Nó cho phép bạn tận dụng tất cả các khả năng của Twitter API

Việc cạo Twitter có hợp pháp không?

Việc cạo Twitter có hợp pháp không? . Nó có nghĩa là bất cứ thứ gì bạn có thể xem mà không cần đăng nhập vào trang web. it is legal and allowed to scrape publicly available data from Twitter. It means anything that you can see without logging into the website.

Bạn có thể cạo Twitter mà không cần API không?

Twint là gì. Twint là một công cụ nâng cao để loại bỏ Twitter . Chúng tôi có thể sử dụng công cụ này để loại bỏ bất kỳ người theo dõi, theo dõi, tweet nào của người dùng, v.v. mà không cần phải sử dụng Twitter API.

Chủ Đề