菜鳥在這里。我試圖用 python 登錄到這個站點odoo.com,但它不起作用。沒有證據表明我已登錄(我從列印陳述句中得到“無”,這意味著如果我已登錄,我期望的資料不存在)并且我無法弄清楚原因。
我認為這與表格中的“提交”有關。
這是我的代碼
from cred import password, login
import requests
from bs4 import BeautifulSoup as bs
headers = {
'Accept-Language': 'en-GB,en-US;q=0.9,en;q=0.8',
'Origin': 'https://www.odoo.com',
'Referer': 'https://www.odoo.com/web/login',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36',
}
def get_csrf():
#get csrf_token
r = s.get('https://www.odoo.com/web/login')
soup = bs(r.content,'html.parser')
g = soup.head.script.text
g = g.split('\"')
csrf_token = g[1]
return csrf_token
with requests.Session() as s:
csrf_token = get_csrf()
data = {
'csrf_token': csrf_token,
'login': login,
'password': password,
'redirect': ''
}
r = s.post('https://www.odoo.com/web/login', headers=headers, data=data)
re = s.get('https://www.odoo.com/my/databases')
soup = bs(re.content,'html.parser')
print(soup.find('div',{'class':'odoo-oe-databases'}))
任何幫助表示贊賞
uj5u.com熱心網友回復:
你可以和劇作家一起輕松地做到這一點。輸入您的登錄名和密碼。
如果您想在無頭模式下使用它,請放置headless=True。
那里有劇作家檔案:https ://playwright.dev/python/docs/intro
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.webkit.launch(headless=False)
baseurl = "https://www.odoo.com/web/login"
page = browser.new_page()
page.goto(baseurl)
page.fill('#login', 'login email')
page.fill('#password', 'your password')
page.click("button[type='submit']")
elementHandler = page.wait_for_selector(".oe_database_information")
print("Database text: " elementHandler.text_content())
print("Database all html: " elementHandler.inner_html())
# print(page.content())
browser.close()
小心點,當我提出很多要求時,他們會禁止我一分鐘。
我希望我能幫助你。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/486860.html
標籤:python-3.x 网页抓取 美丽的汤 蟒蛇请求
上一篇:間隔不打開/關閉命令
