Needs token on directory
commit
efd9174f87
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,76 @@
|
||||
# import libraries
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
import os
|
||||
import time
|
||||
import datetime
|
||||
from pprint import pprint
|
||||
import requests
|
||||
import multiprocessing
|
||||
from mastodon import Mastodon
|
||||
from pprint import pprint
|
||||
|
||||
with open('token.txt','r') as token:
|
||||
print(token.read())
|
||||
mastodon = Mastodon(access_token=token.read(),api_base_url="https://todon.nl")
|
||||
|
||||
peers = mastodon.instance_peers()
|
||||
|
||||
today = datetime.date.today()
|
||||
text_file = open("results.txt", "a+")
|
||||
text_file.write("Data collected on : "+str(today)+"\n"+"\n")
|
||||
|
||||
|
||||
for n, peer in enumerate(peers):
|
||||
if n < 9:
|
||||
time.sleep(0.5)
|
||||
# get the url from the terminal
|
||||
# url ("Enter instance.social url (include https:// ): ")
|
||||
url = "https://"+(str(peer))
|
||||
print(peer)
|
||||
|
||||
# Tell Selenium to open a new Firefox session
|
||||
# and specify the path to the driver
|
||||
driver = webdriver.Firefox(executable_path=os.path.dirname(os.path.realpath(__file__)) + '/geckodriver')
|
||||
|
||||
# Implicit wait tells Selenium how long it should wait before it throws an exception
|
||||
driver.implicitly_wait(10)
|
||||
driver.get(url)
|
||||
time.sleep(3)
|
||||
|
||||
print ('Instance:', "\n", peer)
|
||||
text_file.write("Instance: "+"\n"+(peer)+"\n")
|
||||
|
||||
try:
|
||||
description = driver.find_element_by_xpath('/html/body/div[1]/div/div/div[3]/div[2]/div')
|
||||
print ('Description:')
|
||||
print(description.text)
|
||||
text_file.write("Description: "+"\n"+description.text+"\n"+"\n")
|
||||
time.sleep(1)
|
||||
|
||||
try:
|
||||
# get the image source
|
||||
img = driver.find_element_by_css_selector('.landing-page__hero > img:nth-child(1)')
|
||||
src = img.get_attribute('src')
|
||||
# download the image
|
||||
Picture_request = requests.get(src)
|
||||
if Picture_request.status_code == 200:
|
||||
with open("{}.jpg".format(peer), 'wb') as f:
|
||||
f.write(Picture_request.content)
|
||||
print("Printed Image")
|
||||
|
||||
except:
|
||||
print("Impossible to print image")
|
||||
|
||||
except:
|
||||
print("Impossible to check instance")
|
||||
|
||||
time.sleep(0.5)
|
||||
|
||||
# close new tab
|
||||
driver.close()
|
||||
print("Closing Window")
|
||||
|
||||
text_file.close()
|
||||
# close the browser
|
||||
driver.close()
|
Loading…
Reference in New Issue