Ich frage mich, ob es Möglichkeiten gibt, Twitter ohne ihre API zu crawlen? Ich habe versucht, ihre API zu verwenden, und es war großartig. Aber ich würde gerne fragen, ob es Alternativen gibt? Da der Crawler, an dem ich arbeite, umhergeht, möchte ich nicht, dass meine Token-Schlüssel zwischen ihnen geteilt werden. Ich möchte auch nicht, dass jeder von ihnen den Aufwand der Erstellung eines Dev-Accounts durchläuft und so weiter.Python-Twitter API
Der Crawler, den ich mit twitter API erstellt habe, kann viele Tweets abrufen. Und der Crawler, den ich ohne erstellt habe, konnte nur um 10 crawlen, da andere Tweets außerhalb des HTML waren.
Ich verwende Python 3,6
def spider(targetname, DOMAIN):
for item in g_data:
try:
name = item.find_all("strong", {"class": "fullname show-popup-with-id "})[0].text
username = item.find_all("span", {"class": "username u-dir"})[0].text
post = item.find_all("p", {"class": "TweetTextSize TweetTextSize--normal js-tweet-text tweet-text"})[0].text
retweetby = item.find_all("a", {"href": "/"+targetname})[0].text
subdatas = item.find_all('div', {'class':'ProfileTweet-actionCountList u-hiddenVisually'})
for subdata in subdatas:
replies = subdata.find_all("span", {"class": "ProfileTweet-actionCountForAria"})[0].text
retweets = subdata.find_all("span", {"class": "ProfileTweet-actionCountForAria"})[1].text
likes = subdata.find_all("span", {"class": "ProfileTweet-actionCountForAria"})[2].text
datas = item.find_all('a', {'class':'tweet-timestamp js-permalink js-nav js-tooltip'})
for data in datas:
link = DOMAIN + data['href']
date = data['title']
if link in open(crawledfile).read():
pass
else:
append_to_crawled(crawledfile, name, username, post, link, replies, retweets, likes, retweetby, date)
output(name, username, post, link, replies, retweets, likes, retweetby, date)
except:
pass
KEINESFALLS, um twitter's API zu umgehen. –
den Code für Ihren Crawler ohne die Twitter-API – TheDarkKnight
@MrSam gut, können Sie Selenium und PhantomJS verwenden. – TheDarkKnight