首页 > 解决方案 > 网络抓取隐藏字段

问题描述

我正在网页抓取一个网站:https ://apps.ktrade.pk/webterminalv3/SignIn我可以从中获取 HTML,但是我抓取的 html 元素中没有出现带有类 box-user-id 子元素的 div;在检查元素上,显示了 box-user-id 的子元素。

我已经尝试过使用 selenium、BeautifulSoup、mechanicalsoup 等多个库。请告诉我该怎么做。提前致谢。

标签: pythonweb-scrapinghidden-field

解决方案


您可以尝试使用该代码登录

import requests
from bs4 import BeautifulSoup

session = requests.Session()

# get auth page
auth = session.get('https://apps.ktrade.pk/webterminalv3/SignIn')

# collect csrf token
soup = BeautifulSoup(auth.text, 'html.parser')
csrf_token = soup.find('input', {'name': 'csrfPreventionSalt'})['value']

# create login request
session.post('https://apps.ktrade.pk/webterminalv3/ajax/login', data={
    'username': 'your_username', 'password': 'your_password',
    'csrfPreventionSalt': csrf_token, 'actBrandName': 'KTrade'
})

推荐阅读