Nếu bạn đang có kế hoạch thu hút các phương tiện truyền thông xã hội, Twitter là một trong những nền tảng tốt nhất để làm điều đó. Với 230 triệu người dùng hàng tháng, nó có rất nhiều thông tin có giá trị. Có nhiều cách bạn có thể sử dụng nó, từ thực hiện phân tích đến khám phá xu hướng thị trường và cải thiện chiến lược tiếp thị của bạn. Mặc dù Twitter khá hào phóng khi cấp quyền truy cập vào dữ liệu của mình, nhưng API chính thức yêu cầu một quy trình sàng lọc và áp đặt với khá nhiều hạn chế. Để khắc phục những vấn đề này, bạn sẽ phải tìm kiếm các giải pháp thay thế, web scraping là giải pháp tốt nhất. Hướng dẫn này sẽ chia sẻ với bạn về Twitter scraping (thu thập dữ liệu Twitter), giới thiệu các lựa chọn thay thế API và những thách thức bạn có thể gặp phải. Hơn nữa, bạn sẽ tìm thấy ví dụ từng bước về cách thu thập dữ liệu Twitter có sẵn công khai bằng SNScrape. Hãy cùng theo dõi dưới đây!
Twitter scraping là một cách tự động thu thập dữ liệu công khai từ nền tảng này. Nó thường được thực hiện bằng cách sử dụng các công cụ quét được tạo sẵn hoặc các công cụ được tạo tùy chỉnh. Twitter là một trong số ít nền tảng cung cấp API chính thức, nhưng nó có thể gây khó khăn khi sử dụng vì giới hạn số lượng tweet bạn có thể nhận được (3.200) và thời gian gần đây của chúng (7 ngày qua).
Các nhà tiếp thị truyền thông xã hội sử dụng sự phổ biến của Twitter để làm lợi thế cho họ. Họ thu thập thông tin như tweet, lượt chia sẻ, URL, lượt thích, chủ đề và người theo dõi, v.v. Tìm hiểu Twitter có thể mang lại nhiều hiểu biết thú vị về tiếp thị, theo dõi thương hiệu và danh tiếng, phân tích sự biến đổi hoặc xu hướng thị trường.
Twitter Scraping là cách bạn có thể thu thập dữ liệu từ Twitter
Twitter Scraping có hợp pháp không?
Với Twitter scraping có thể thu thập dữ liệu mạng xã hội nếu dữ liệu đó có sẵn công khai (không ẩn đằng sau thông tin đăng nhập) và nội dung không tuân theo quyền sở hữu trí tuệ . Sau đó, có thể có một số yêu cầu bổ sung nếu bạn sẽ làm việc với thông tin cá nhân. Điều khoản dịch vụ (ToS) của nó không cấm quét web, nhưng bạn cần có sự đồng ý trước. Mặc dù các điều khoản này không ràng buộc về mặt pháp lý khi tìm kiếm mà không có tài khoản, nhưng địa chỉ IP của bạn vẫn có thể bị cấm sử dụng nền tảng. Mỗi trường hợp sử dụng được xem xét riêng, bạn sẽ có nhiều quyền tự do hơn khi thu thập dữ liệu cho mục đích nghiên cứu hơn là cho mục đích thương mại.
Dữ liệu nào bạn có thể quét mà không cần đăng nhập?
Các điểm dữ liệu Twitter mà bạn có thể thu thập chia thành ba loại:
Tweet: văn bản và phương tiện trực quan, URL tweet, ID tweet, tin nhắn, sắp xếp các tweet theo vị trí hoặc lượt thích.
Hồ sơ: tên, hình ảnh, người theo dõi và số lượng tweet, tiểu sử người dùng, dữ liệu bài đăng mới nhất như nội dung, thời gian, tin nhắn lại, trả lời, v.v.
Hashtag và từ khóa: URL tweet, thời gian tạo, vị trí, tên người dùng, số lượng trả lời và trích dẫn, hội thoại, dữ liệu phương tiện như liên kết và các dữ liệu khác.
Tuy nhiên, Twitter ngày càng yêu cầu đăng nhập để xem nội dung của nó. Bạn có thể trải nghiệm ở nhiều khu vực khác nhau của trang web, chẳng hạn như khi cuộn xuống trong chuỗi Twitter. Hiện tại, có một cách giải quyết dễ dàng bằng cách xóa cookie trình duyệt của bạn. Nhưng sẽ có ít điểm dữ liệu công khai hơn để thu thập trong tương lai.
Cách Twitter Scraping mà không cần API
Có nhiều cách để thu thập dữ liệu có sẵn công khai từ Twitter mà không cần sử dụng API chính thức. Một là tự xây dựng một công cụ quét bằng cách sử dụng các thư viện quét web. Đây có lẽ là phương pháp khó nhất nhưng cũng mang lại cho bạn nhiều quyền kiểm soát nhất. Đặc biệt nếu bạn đang gặp hạn chế với các phương pháp khác. Mặc dù tìm kiếm trên Twitter dễ dàng hơn so với thu thập dữ liệu trên Instagram, nhưng bạn vẫn cần sử dụng headless browser để hiển thị JavaScript, cùng với các proxy Twitter để tránh bị chặn IP.
Các Proxy Dân cư sẽ giữ an toàn quá trình thu thập dữ liệu
Nếu không thích can thiệp vào code, bạn có thể sử dụng các công cụ có mã không thương mại như PhantomBuster và ParseHub. Những công cụ trực quan này cung cấp các mẫu thuận tiện hoặc giao diện trỏ và nhấp. Mặc dù dễ dàng đối với các tác vụ đơn giản, nhưng chúng ngày càng trở nên phức tạp và không hiệu quả khi bạn mở rộng quy mô.
Cuối cùng, bạn có thể sử dụng một trong những thư viện quét web Twitter được tạo sẵn. Những công cụ này cho phép bạn trích xuất dữ liệu bằng cách nhập lệnh vào trình chỉnh sửa mã hoặc dòng lệnh. Chúng không yêu cầu xác thực API hoặc proxy để hoạt động. SNScrape là một ví dụ.
Đối với ví dụ này, chúng tôi sẽ quét Twitter bằng thư viện SNScrape Python. Đó là một lựa chọn phổ biến để tìm kiếm trên Twitter vì:
Bạn có thể bắt đầu truy xuất dữ liệu hữu ích sau vài phút.
Nó không bị ràng buộc bởi các giới hạn tweet của API.
Nó trả về dữ liệu lịch sử cũ hơn bảy ngày.
SNScrape có các mô-đun Twitter cho các khía cạnh khác nhau của nền tảng như tìm kiếm, thẻ bắt đầu bằng # và hồ sơ người dùng. Nói chung, bạn có thể sử dụng nó để trích xuất các điểm dữ liệu sau: người dùng, hồ sơ người dùng, thẻ bắt đầu bằng #, tìm kiếm, tweet (chủ đề đơn lẻ hoặc xung quanh), danh sách bài đăng và xu hướng.
Bạn cần cài đặt thư viện SNScrape. Bạn có thể thực hiện việc này bằng cách nhập dòng sau vào thiết bị đầu cuối của hệ điều hành:
pip3 install snscrape
Trước khi bạn bắt đầu, hãy tạo một văn bản mới. Chúng tôi đặt tên cho nó là scraping1.py, nhưng bạn có thể đặt tên bằng bất kỳ tên nào. Mở tệp để bắt đầu mã hóa.
Cách thu thập dữ liệu tìm kiếm của Twitter
Hãy bắt đầu với dữ liệu tìm kiếm trên Twitter. Chúng tôi sẽ loại bỏ 100 tweet đầu tiên cho truy vấn proxy dân cư.
Bước 1. Nhập các mô-đun cần thiết. Chúng ta sẽ cần mô-đun Twitter từ SNScrape và JSON:
from snscrape.modules import twitter
import json
Bước 2. Hãy bắt đầu với tìm kiếm trên Twitter để có được bức tranh toàn cảnh hơn của dữ liệu.
1) Đầu tiên, chúng ta sẽ tập trung vào các biến. Bắt đầu bằng cách nhập biến truy vấn và gán từ khóa làm giá trị chuỗi.
queries = ['residential proxies']
2) Sau đó, xác định số lượng tweet bạn muốn thu thập. Nếu bạn bỏ qua điều này, phiên sẽ không kết thúc cho đến khi bạn loại bỏ tất cả các tweet có liên quan. Hãy đặt tham số yêu cầu max_results thành 100 để bạn không bị chìm trong dữ liệu.
max_results = 100
3) Sau đó, tự thực hiện thu thập. Thao tác này sẽ tạo một phiên bản thu thập mới cho mỗi truy vấn.
Bước 3. Tiếp theo, hãy lặp lại một tệp đầu ra chuyên dụng cho mỗi truy vấn trong các dòng sau. Bằng cách này, bạn sẽ nhận được kết quả trong một tệp văn bản.
for query in queries:
output_filename = query.replace(" ", "_") + ".txt"
with open(output_filename, 'w') as f:
scraper = scrape_search(query)
i = 0
for i, tweet in enumerate(scraper.get_items(), start = 1):
Bước 4. Bây giờ, hãy chuyển đổi các tweet đã loại bỏ thành đối tượng .json để phân tích cú pháp dữ liệu. Bạn chỉ có thể truy cập nội dung khi kết quả được chuyển đổi.
tweet_json = json.loads(tweet.json())
In ra nội dung của một tweet chẳng hạn như văn bản của nó, tên người dùng, ngày tháng của người tạo, v.v.
Các dòng sau đây là để ghi dữ liệu vào tệp đầu ra.
f.write(tweet.json())
f.write('\n')
f.flush()
Bước 5. Và cuối cùng, hãy thêm mã kết thúc vòng lặp khi đạt đến max_results<.
if max_results and i > max_results:
break
Lưu mã của bạn, mở dấu nhắc lệnh và thay đổi nó vào thư mục lưu mã. Sau đó, chạy mã. Khi có kết quả, bạn sẽ thấy các tham số như tên người dùng, ngày, URL và chính tweet đó, bên dưới khóa nội dung.
Theo ví dụ trên, bạn cũng có thể dễ dàng thu thập các dữ liệu khác: ví dụ: thẻ bắt đầu bằng #. Chỉ cần chuyển TwitterSearchScraper sang TwitterHashtagScraper. Và thay vì một biến truy vấn, hãy viết một thẻ bạn chọn. Chỉ cần cẩn thận không để lại dấu gạch ngang trong giá trị vì mã sẽ không hoạt động. Bạn cũng sẽ cần thay đổi công cụ quét trong vòng lặp.
Bạn cũng có thể quét theo tên người dùng hoặc ID người dùng. Tuy nhiên khi xác định các biến đầu vào của bạn, đừng quên các toán tử Boolean. Ngoài ra, hãy đảm bảo liệt kê tên người dùng và ID người dùng dưới dạng chuỗi.
Nếu bạn đang tìm kiếm một tweet cụ thể, bạn cũng có thể tìm kiếm theo ID tweet. Điều này có thể hữu ích nếu bài đăng chứa thông tin quan trọng như đánh giá sản phẩm. Cách tiếp cận ở đây cũng tương tự, nhưng lần này giá trị đầu vào là một số chứ không phải là một chuỗi.
from snscrape.modules import twitter
import json
# List of queries to scrape
queries = ['residential proxies']
#Max results to get per each query
max_results = 100
# Scrapes Twitter search
# Input: Twitter search (string)
# Example query: "covid"
def scrape_search(query):
scraper = twitter.TwitterSearchScraper(query)
return scraper
#-- Other scrapers that can be implemented
#Scrapes a single tweet
# Intput: Tweet ID (integer)
# Example tweet_id: 1516359017374887940
def scrape_tweet(tweet_id):
scraper = twitter.TwitterTweetScraper(tweet_id)
return scraper
# Input:
# If scraping by Username - username (string), False (boolean)
# Example username "Proxyway1", False
# If scraping by User ID - user_id (string), True (boolean)
# Example User ID "1097450610864123904", True
def scrape_user(user, isUserId):
twitter.TwitterUserScraper(user, isUserId)
return scraper
# Input: Twitter hashtag (string) (without '#')
# Example hashtag: "scraping"
def scrape_hashtag(hashtag):
scraper = twitter.TwitterHashtagScraper(hashtag)
return scraper
for query in queries:
#Creating an output file for each query
output_filename = query.replace(" ", "_") + ".txt"
with open(output_filename, 'w') as f:
scraper = scrape_search(query)
i = 0
for i, tweet in enumerate(scraper.get_items(), start = 1):
# Converting the scraped tweet into a json object
tweet_json = json.loads(tweet.json())
#Printing out the content of a tweet
print (f"\nScraped tweet: {tweet_json['content']}")
#Writing to file
f.write(tweet.json())
f.write('\n')
f.flush()
#Terminate the loop if we reach max_results
if max_results and i > max_results:
break
Vậy là bạn có thể thấy để Twitter Scraping sẽ không phức tạp nếu bạn có công cụ hiệu quả và biết cách sử dụng cú pháp. Thu thập dữ liệu ngay hôm nay với sự trợ giúp của Proxy và các công cụ phù hợp để nâng cao tầm nhìn và hiệu suất cho những kế hoạch của bạn. Chúc các bạn thành công!
Trong thời đại số hóa ngày nay, việc duy trì bảo mật trực tuyến và tăng cường tốc độ truy cập internet là nhu cầu thiết yếu của đa số người dùng. Proxy USA tại ZingProxy chính là giải pháp hoàn hảo để đáp ứng những yêu cầu này. Với khả năng cung cấp kết […]
Internet là một kho tàng thông tin khổng lồ, nơi bạn có thể tìm kiếm mọi thứ. Tuy nhiên, không phải tất cả thông tin đều được truy cập tự do. Một số trang web bị chặn theo khu vực, một số khác yêu cầu đăng nhập, và một số ẩn chứa nguy cơ rò […]
Forward proxy và Reverse proxy là hai khái niệm quan trọng trong lĩnh vực mạng máy tính, đặc biệt là khi nói đến việc bảo vệ và quản lý dữ liệu trên Internet. Mặc dù cả hai đều có vai trò quan trọng trong việc bảo vệ mạng và dữ liệu, tuy nhiên, chúng có […]
Mỗi trình duyệt và thiết bị đều sở hữu một dấu vân tay kỹ thuật số duy nhất, ảnh hưởng đến tính ẩn danh của người dùng và làm tăng khả năng bị theo dõi. Tuy nhiên, các công cụ và tiện ích mở rộng trình duyệt giúp chặn tập lệnh và trình theo dõi có thể giảm thiểu rủi ro theo dõi dấu vân tay. Cùng ZingProxy tìm hiểu về cách để chỉnh sửa vân tay trình duyệt với sự hỗ trợ của proxy.
ProxySwitcher là một chương trình đa năng được thiết kế để quản lý kết nối internet thông qua máy chủ proxy. Hoạt động đơn giản của nó cho phép người dùng chuyển đổi liền mạch giữa các proxy khác nhau. Tính linh hoạt này là chìa khóa để vượt qua kiểm duyệt, lướt web ẩn danh và kiểm tra trang web. Hãy cùng chúng tôi tìm hiểu về cách thiết lập proxy trong Proxy Switcher trong blog dưới đây!
Được công nhận là một trong những bot hiệu quả nhất trên thị trường, Wrath AIO Bot là một bot sneaker (giày thể thao) hiệu suất cao được thiết kế để phát hành và giúp bạn đến gần hơn với việc sở hữu những đôi giày thể thao ưa thích. Wrath Sneaker Bot sẽ đặt bạn ở vị trí đầu hàng, tăng cơ hội mua được những đôi giày thể thao phiên bản giới hạn, được săn đón nhiều từ các thương hiệu lớn và thường bán hết trong vòng vài giây. Để tránh bị chặn, điều cần thiết là phải hiểu cách thiết lập proxy trong Wrath AIO Bot trước khi bắt đầu.