wpapi.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # from wordpress import API
  2. # import requests
  3. # import base64
  4. import json
  5. from selenium import webdriver
  6. from selenium.webdriver.common.by import By
  7. from selenium.webdriver import ChromeOptions
  8. from pyfacebook import GraphAPI
  9. def get_driver_version(dr):
  10. for k, v in dr.capabilities.items():
  11. if k == 'chrome' or k == 'browserVersion':
  12. if k == 'chrome':
  13. vers = v['chromedriverVersion']
  14. print('Driver version', vers[:vers.index('(') - 1])
  15. print(end='\n' * 2)
  16. dr_version = vers[:vers.index('(') - 1]
  17. else:
  18. print('Browser version', v)
  19. print(end='\n' * 2)
  20. br_version = v
  21. return (dr_version, br_version)
  22. options = ChromeOptions()
  23. options.add_argument('--headless')
  24. # Get last post_id title, text and link
  25. driver = webdriver.Chrome(options=options)
  26. get_driver_version(dr=driver)
  27. driver.get('http://taxwizard.ro/?cat=36')
  28. title = driver.find_element(By.XPATH, '//*[@id="blog-item-holder"]/div[1]/div[2]/h2/a')
  29. body = driver.find_element(By.XPATH, '//*[@id="blog-item-holder"]/div[1]/div[2]/div[1]')
  30. body_text = body.text
  31. title_text = title.text
  32. link = title.get_attribute('href')
  33. driver.close()
  34. tags = '#codfiscal,#impozit-micro,#PFA'
  35. data = {"message": title_text + 2 * '\n' + body_text + ' ......' + tags, 'link': link}
  36. print(data['message'], '\n')
  37. # Create Graph api object
  38. with open('.token') as file:
  39. token = file.read()
  40. graph = GraphAPI(access_token=token)
  41. page = graph.get_object('568089086661039')
  42. print(page)
  43. # Post to facebook page
  44. post_id = graph.post_object('568089086661039', connection='feed', data=data)
  45. print(post_id)
  46. # post_id = {'id': '568089086661039_2611622175641043'}
  47. # Save post to json
  48. post_link = {'link': link}
  49. post = {**post_link, **post_id}
  50. with open('last_post.json', mode='a') as file:
  51. file.write('\n')
  52. json.dump(post, file)