Учитывая ограничения вызовов API Twitter , я ищу возможности получить результаты поиска, не имея учетной записи / приложения.Я понял, что этот URL
https://twitter.com/search?f=tweets&q=<keyWord1>%20<keyWord2>%20<keyWord3>&src=typd&lang=en
, где <keyWord1>%20<keyWord2>%20<keyWord3>
- это поисковые запросы, действительно возвращает страницу (для примера этого ), включая информацию, закодированную в формате HTML:
<div class="js-tweet-text-container">
<p class="TweetTextSize js-tweet-text tweet-text" lang="en" data-aria-label-part="0">tweetText..</p>
</div>
Я могу извлечь страницу, используя этот фрагмент:
#%%
import requests
def srch(*keyWords):
string = "%20".join(keyWords)
url = 'https://twitter.com/search?f=tweets&q=' + string + '&src=typd&lang=en'
return requests.get(url)
Теперь мои вопросы:
- Каков наилучший способ извлечь эту информацию?используя регулярные выражения
re
модуль или BeautifulSoup
...? - какую информацию можно извлечь?Текст твита, идентификатор пользователя / имя, время-дата, количество лайков-ретвитов-комментариев видны на этой странице и, вероятно, должны быть извлечены?
- сколько твитов можно извлечь за один запрос или определенный промежуток времени?есть ли ограничение скорости, например, для модуля
request
для вызова этой страницы и извлечения HTML?Возможно ли, что они блокируют определенные IP-адреса?
Буду признателен, если вы приведете пример того, как это должно быть сделано.