w3resource

Python Web Scraping: Scrap number of tweets of a given Twitter account

Python Web Scraping: Exercise-20 with Solution

Write a Python program to scrap number of tweets of a given Twitter account.

Sample Solution:

Python Code:

from bs4 import BeautifulSoup
import requests
handle = input('Input your account name on Twitter: ')
ctr = int(input('Input number of tweets to scrape: '))
res=requests.get('https://twitter.com/'+ handle)
bs=BeautifulSoup(res.content,'lxml')
all_tweets = bs.find_all('div',{'class':'tweet'})
if all_tweets:
  for tweet in all_tweets[:ctr]:
    context = tweet.find('div',{'class':'context'}).text.replace("\n"," ").strip()
    content = tweet.find('div',{'class':'content'})
    header = content.find('div',{'class':'stream-item-header'})
    user = header.find('a',{'class':'account-group js-account-group js-action-profile js-user-profile-link js-nav'}).text.replace("\n"," ").strip()
    time = header.find('a',{'class':'tweet-timestamp js-permalink js-nav js-tooltip'}).find('span').text.replace("\n"," ").strip()
    message = content.find('div',{'class':'js-tweet-text-container'}).text.replace("\n"," ").strip()
    footer = content.find('div',{'class':'stream-item-footer'})
    stat = footer.find('div',{'class':'ProfileTweet-actionCountList u-hiddenVisually'}).text.replace("\n"," ").strip()
    if context:
      print(context)
    print(user,time)
    print(message)
    print(stat)
    print()
else:
    print("List is empty/account name not found.")
  
 

Sample Output:

Input your account name on Twitter:  @prasanta
Input number of tweets to scrape:  2
Prasanta Kundu Retweeted
WorkApps‏ @WorkAppsInc 13 Nov 2017
A Dedicated Mobile App for your Sales Teams to keep All Product Knowledge handy. Works even when Offline!! Log on to http://www.KnowledgeApps.ai  to know more!pic.twitter.com/5F7v1CRHma
0 replies     3 retweets     2 likes

Prasanta Kundu Retweeted
MVS Murthy‏ @mittispeaks 8 Nov 2017
This one is for all the #BFSI folks ... #HRManager #HRTech Help your sales team sell better. Complete #Product #Knowledge on a dedicated mobile app which works even in #offline mode.  Know more @ http://www.knowledgeapps.ai pic.twitter.com/dwsOpFgX0A
0 replies     2 retweets     0 likes

Flowchart:

Python Web Scraping Flowchart: Scrap number of tweets of a given Twitter account.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to count number of tweets by a given Twitter account.
Next: Write a Python program to find the live weather report (temperature, wind speed, description and weather) of a given city.

What is the difficulty level of this exercise?



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://198.211.115.131/python-exercises/web-scraping/web-scraping-exercise-20.php