Python 从twitter上抓取推文
我正在尝试使用tweet id刮取tweet文本,我的代码是:Python 从twitter上抓取推文,python,selenium,web-scraping,Python,Selenium,Web Scraping,我正在尝试使用tweet id刮取tweet文本,我的代码是: import selenium from selenium import webdriver from selenium.webdriver.common.keys import Keys browser=webdriver.Chrome() base_url='https://twitter.com/FoxNews/status/' query='964981093127655424' url=base_url+query br
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser=webdriver.Chrome()
base_url='https://twitter.com/FoxNews/status/'
query='964981093127655424'
url=base_url+query
browser.get(url)
title=browser.find_element_by_tag_name('title')
print(title)
输出为:
selenium.webdriver.remote.webelement.webelement(session=“7ca1c0e4c33d62a122bc51bbc171c7eb”,element=“0.37665530454795326-1”)
如何以人类可读的格式打印文本?(在本例中:“在Twitter上,前总统@BillClinton呼吁延长攻击性武器禁令”。您可以使用WebElement类的
.text
属性
我不认为selenium是抓取站点的最佳方式,你最好使用一些请求或注入了beautifulsoup的urllib,使用实际的浏览器速度慢且可控性差(cookies、html属性等)。你可以使用WebElement类的
.text
属性
我不认为selenium是抓取网站的最佳方式,你最好使用一些请求或注入了beautifulsoup的urllib,使用实际的浏览器速度慢且可控性差(cookies、html属性等)。如前所述,结合使用
请求
/urllib
和bs4
将是更好的抓取选项
为了获取您感兴趣的文本,您可以执行以下操作:
import requests
from bs4 import BeautifulSoup
page = requests.get("https://twitter.com/FoxNews/status/964981093127655424")
soup = BeautifulSoup(page.content, "html.parser")
tweet = soup.select_one(".js-tweet-text-container .TweetTextSize--jumbo")
print(tweet.get_text())
您的输出如下所示:
'On Twitter, former President @BillClinton called for a renewal of the Assault Weapons Ban.pic.twitter.com/hPaFyhGSfd'
现在,让我们来分析一下我们所做的。首先,
requests
向Twitter服务器发出GET
请求,输入URL的内容保存为页面中的响应
对象。然后,我们继续使用页面
创建美化组
对象
为了找到tweet文本,我们使用
这是一个简单的刮擦工作,如果其中任何一个对你来说没有意义,我建议你通过一些教程。你可以从开始,这将教你网络抓取的基础知识,并帮助你开始
希望这有帮助
正如所指出的,使用请求
/urllib
和bs4
的组合将是更好的刮取选择
为了获取您感兴趣的文本,您可以执行以下操作:
import requests
from bs4 import BeautifulSoup
page = requests.get("https://twitter.com/FoxNews/status/964981093127655424")
soup = BeautifulSoup(page.content, "html.parser")
tweet = soup.select_one(".js-tweet-text-container .TweetTextSize--jumbo")
print(tweet.get_text())
您的输出如下所示:
'On Twitter, former President @BillClinton called for a renewal of the Assault Weapons Ban.pic.twitter.com/hPaFyhGSfd'
现在,让我们来分析一下我们所做的。首先,requests
向Twitter服务器发出GET
请求,输入URL的内容保存为页面中的响应
对象。然后,我们继续使用页面
创建美化组
对象
为了找到tweet文本,我们使用
这是一个简单的刮擦工作,如果其中任何一个对你来说没有意义,我建议你通过一些教程。你可以从开始,这将教你网络抓取的基础知识,并帮助你开始
希望这有帮助 感谢@初学者编码员的建议编辑。我不知道你的建议为什么被拒绝了。我已经将它们合并到了答案中。感谢@newear coder建议的编辑。我不知道你的建议为什么被拒绝了。我已将它们合并到答案中。@Jayanth,您已经得到了两个合格答案,您应该选择其中一个作为预期的解决方案。你似乎不太喜欢打分数。如果你收到这样的推特,你既不会帮自己也不会帮推特的忙。看一看。只有在没有其他可能性的情况下才能进行网页抓取,而twitter提供了一种可能性,所以请使用它。@Jayanth,您已经得到了两个符合条件的答案,您应该选择其中一个作为预期的解决方案。你似乎不太喜欢打分数。如果你收到这样的推特,你既不会帮自己也不会帮推特的忙。看一看。只有在没有其他可能性的情况下才能进行网页抓取,twitter也提供了这样的可能性,所以请使用它。