Поэтому я хочу войти на веб-сайт, выполнить поиск по странице, а затем удалить все результаты.
Мне как-то удалось войти в систему, используя python и запросы, но когда я делаю запрос get на странице, я хочу выполнить поиск или всякий раз, когда я делаю запрос на публикацию на этой странице, все критерии поиска передаются в тело, я не получаю никаких результатов поиска. Вместо этого заголовок по-прежнему гласит «Вход на страницу», который является заголовком страницы входа, поэтому почему-то кажется, что я не могу выполнить какую-либо операцию REST после входа в систему. Есть ли какой-либо конкретный способ удалить сайт, когда это требуется один для входа, а затем выполнить поиск ??
Вот моя попытка:
import requests
from lxml import html
from bs4 import BeautifulSoup
USERNAME = "abcdefgh"
PASSWORD = "xxxxxxx"
LOGIN_URL = "https://www.assortis.com/en/login.asp"
URL = "https://www.assortis.com/en/members/bsc_search.asp?act=sc"
SEARCH_URL = "https://www.assortis.com/en/members/bsc_results.asp"
def scrapeIt():
session_requests = requests.session()
#login
result = session_requests.get(LOGIN_URL)
tree = html.fromstring(result.text)
# print(tree)
# Create payload
payload = {
"login_name": USERNAME,
"login_pwd": PASSWORD,
"login_btn": "Login"
}
search_payload = {
'mmb_cou_hid': '0,0',
'mmb_don_hid': '0,0',
'mmb_sct_hid': '0,0',
'act': 'contract',
'srch_sdate': '2016-01-01',
'srch_edate': '2018-12-31',
'procurement_type': 'Services',
'srch_budgettype': 'any',
'srch_budget': '',
'srch_query': '',
'srch_querytype': 'all of the words from'
}
# Perform login
result = session_requests.post(LOGIN_URL, data=payload, headers=dict(referer=LOGIN_URL))
# Scrape url
result = session_requests.get(URL, headers=dict(referer=URL))
result = session_requests.post(SEARCH_URL, data=search_payload, headers=dict(referer=SEARCH_URL))
content = result.content
# print(content)
data = result.text
soup = BeautifulSoup(data, 'html.parser')
print(soup)
scrapeIt()
Любая помощь будет оценена. Спасибо.
РЕДАКТИРОВАТЬ: возможно, веб-страница на JavaScript