Как спарсить сайт, через post запрос

Код:

import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
ua = UserAgent()


def get_data():
    cookies = {
    'ASP.NET_SessionId': 'i1gip0fre5uzl4iqlkubv1cp',
    'SLG_G_WPT_TO': 'ru',
    'SLG_GWPT_Show_Hide_tmp': '1',
    'SLG_wptGlobTipTmp': '1',
    'ICusrcartgd': 'be6d8ad2-c52e-49b8-83b2-f384a9feaa60',
    'IWusrsesckgd': 'jojhbQMjYWEdV9ohRKijJKalgxKEvPEPzVqoH/F2376n50ziaNRcMA==',
    }

    headers = {
        'authority': 'catalog.aquamarine.kz',
        'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="99", "Opera GX";v="85"',
        'accept': 'application/json, text/javascript, */*; q=0.01',
        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'x-requested-with': 'XMLHttpRequest',
        'sec-ch-ua-mobile': '?0',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.79',
        'sec-ch-ua-platform': '"Windows"',
        'origin': 'https://catalog.aquamarine.kz',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-mode': 'cors',
        'sec-fetch-dest': 'empty',
        'referer': 'https://catalog.aquamarine.kz/catalog/index.aspx',
        'accept-language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
        # Requests sorts cookies= alphabetically
        # 'cookie': 'ASP.NET_SessionId=i1gip0fre5uzl4iqlkubv1cp; SLG_G_WPT_TO=ru; SLG_GWPT_Show_Hide_tmp=1; SLG_wptGlobTipTmp=1; ICusrcartgd=be6d8ad2-c52e-49b8-83b2-f384a9feaa60; IWusrsesckgd=jojhbQMjYWEdV9ohRKijJKalgxKEvPEPzVqoH/F2376n50ziaNRcMA==',
    }

    data = {
        'msearch': '',
    }

    response = requests.post('https://catalog.aquamarine.kz/catalog/products.ashx?rnd=191288177&q=&spec=&mip=317&map=7777%20777&mippg=161&mappg=5466%20222&miw=0.14&maw=137.74&miq=1&maq=241&miprcs=999999.999&maprcs=0&page=2&sort=art-down&view=1&brid=7,', cookies=cookies, headers=headers, data=data)
    soup = BeautifulSoup(response.text, 'lxml')
    with open('data.html', 'w') as f:
        f.write(response.text)
    links = soup.find_all('a', class_='\"pfancy')
    print (links)
def main():
    get_data()


if __name__ == '__main__':
    main()

На выходе я получаю файл с вёрсткой, но это вёрстка как-то закодирована. Вот фрагмент:

<a href="\&quot;/catalog/item.ashx?id=127551&amp;brids=7&amp;nocache=637884809365866149\&quot;" class="\&quot;pfancy" pfancy.iframe="" plink\"=""><img src="\&quot;/catalog/image.ashx?pid=127551&amp;avids=\&quot;" title="\&quot;970469к\&quot;"></a>

Везде расставлены обратные слэши, из-за чего как я понимаю мне не удаётся спарсить данные. Я пытался вывести links по разному, добавляя разные классы, но ничего не вышло. Есть ли какие-то способы чтобы это спарсить?


Ответы (1 шт):

Автор решения: RuCat

Чтобы убрать слэши достаточно прописать response.text.replace('\\','')

→ Ссылка