Я пытаюсь создать программу, которая будет загружать фотографии и публиковать в профилях 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:
Я не могу Найдите способ заполнить форму сообщения текстом и фотографиями.
URL запроса формы сообщения не работает. Так что мне нужен способ, который будет имитировать нажатие на кнопку сообщения. Предположим, что этот код JavaScript будет вызывать нажатие кнопки записи: document.getElementsByName("view_post")[0].click()
Я знаю, что в переполнении стека есть много хороших людей, которые могут решить эту проблему. Пожалуйста, помогите мне.