Det hadde vel vært bedre om du hadde kjørt f.eks
Flask Ozma.
En rask demo.
Enkel versjon uten database opplegget,
sender listen fra server bruker
jinja(bygd inn i Flask) og kjører løkken på kilent siden.
Kode
{% for user in users %}
<li> {{ user }} </li>
{% endfor %}
Setter en enkel User-agent,
har bare testet noen ganger med ny bruke:
Kode
user_agent = {'User-agent': 'Mozilla/5.0'}
Server:
Kode
# app.py
from flask import Flask, render_template, jsonify, request
from bs4 import BeautifulSoup
import requests
app = Flask(__name__)
@app.route('/')
def mafia():
# Login and download online users
s = requests.Session()
user_agent = {'User-agent': 'Mozilla/5.0'}
data = {"user":"xxxx", "password":"xxxx"}
url = "https://www.mafiaenshevn.com/home.php"
r = s.post(url, data=data, headers=user_agent)
r = s.get("https://www.mafiaenshevn.com/?side=online")
# Get online users from returned HTML
soup = BeautifulSoup(r.text, "html.parser")
try:
online_a = soup.find("td", class_="Innhold").find_all("a")
except AttributeError as e:
print("Failed to get online users")
print(soup.get_text())
sys.exit(1)
users = [a.get_text() for a in online_a]
#print(users)
return render_template("index.html", users=users)
if __name__ == '__main__':
app.run(debug=True)
Klient:
Kode
<!-- index.htm -->
<!doctype html>
<div id="wrapper">
<ul>
{% for user in users %}
<li> {{ user }} </li>
{% endfor %}
</ul>
</div>
</body>
</html>
Sist endret av snippsat; 22. februar 2017 kl. 23:52.