Опубликовать в Facebook без графика API - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь создать программу, которая будет загружать фотографии и публиковать в профилях Facebook. Многие люди предложат мне использовать API графа. Но процесс получения токена очень сложен. И я не хочу использовать селен. Поэтому я вошел в Facebook, используя http.cookiejar, urllib.request и запросы.

import http.cookiejar
import urllib.request
import requests
import bs4

cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))

urllib.request.install_opener(opener)

authentication_url = "https://m.facebook.com/login.php"
payload = {

    'email':"example@gmail.com",
    'pass':"examplePassword"
}
data = urllib.parse.urlencode(payload).encode('utf-8')
req = urllib.request.Request(authentication_url, data)
resp = urllib.request.urlopen(req)
contents = resp.read()
print(contents)

url = "https://mbasic.facebook.com/?soft=composer"

data = requests.get(url, cookies=cj)

#Now I'm in the home page of mbasic.facebook.com with post form.
soup = bs4.BeautifulSoup(data.text, 'html.parser')
print(soup)

#Here I need fill up post form and simulate click on "post button". Because the request url is not working.

Но проблема 2:

  1. Я не могу Найдите способ заполнить форму сообщения текстом и фотографиями.

  2. URL запроса формы сообщения не работает. Так что мне нужен способ, который будет имитировать нажатие на кнопку сообщения. Предположим, что этот код JavaScript будет вызывать нажатие кнопки записи: document.getElementsByName("view_post")[0].click()

Я знаю, что в переполнении стека есть много хороших людей, которые могут решить эту проблему. Пожалуйста, помогите мне.

...