【Twitter爬虫】Twitter网络爬虫
从2月9日起,Twitter不再支持免费访问Twitter API,继续使用Twitter API支付较高的费用。下面将介绍一种绕过Twitter API爬取推文的方式。首先介绍一下Selenium Webdriver,这是一款web自动化测试框架,可以利用它在web浏览器上模拟。先在网页上登陆自己的twitter账号,然后把cookies取出来并。F12查看网页源码,可以看到每条推文的内容都写在
·
利用selenium爬取Twitter
从2月9日起,Twitter不再支持免费访问Twitter API,继续使用Twitter API支付较高的费用。下面将介绍一种绕过Twitter API爬取推文的方式
Selenium Webdriver框架
首先介绍一下Selenium Webdriver,这是一款web自动化测试框架,可以利用它在web浏览器上模拟。下面演示下在python中如何引入selenium模块
from selenium import webdriver
实例化配置对象
options = webdriver.ChromeOptions()
配置对象开启无界面模式
options.add_argument("--headless")
实例化带有配置对象的driver对象
driver = webdriver.Chrome('chromedriver', options=options)
进入Twitter页面
Twitter首页 Twitter首页
driver.get('https://twitter.com/home')
登陆Twitter
先在网页上登陆自己的twitter账号,然后把cookies取出来并
cookies=[] #你的cookies
for cookie in cookies:
driver.add_cookie(cookie)
接下来就可以自由访问twitter啦
爬取Twitter
url = f"https://twitter.com/search?q=hello&src=typed_query"
driver.get(url)
利用BeautifulSoup对网页进行分析
from bs4 import BeautifulSoup
html = driver.page_source
soup = BeautifulSoup(html, "html.parser")
F12查看网页源码,可以看到每条推文的内容都写在红框标出来的区域里面
因此,我们先找出所有为这个属性的元素
tweets = soup.find_all("div", {'data-testid': "cellInnerDiv"})
然后我们再继续找推文内容的属性
提取推文内容
for tweet in tweets:
content = container.find('div', {'data-testid': "tweetText"}).text
print(content)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)