Если вы хотите получить общее количество «анонсов», вам нужно смоделировать XHR. Для меня это работает, как показано ниже, но вы можете попробовать изменить его (удалить ненужные заголовки, prettify data
и т. Д.):
import requests
headers = {
'Origin': 'https://www.tayara.tn',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36',
'Content-Type': 'application/json',
'Accept': '*/*',
'Referer': 'https://www.tayara.tn/sc/immobilier/appartements',
'Connection': 'keep-alive',
}
data = '{"query":"query ListingsPage($page: Page, $filter: SearchFilter, $sortBy: SortOrder) {\\n listings: searchAds(page: $page, filter: $filter, sortBy: $sortBy) {\\n items {\\n uuid\\n title\\n price\\n currency\\n thumbnail\\n createdAt\\n state\\n category {\\n id\\n name\\n engName\\n __typename\\n }\\n user {\\n uuid\\n displayName\\n avatar(width: 96, height: 96) {\\n url\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n trackingInfo {\\n transactionId\\n listName\\n recommenderId\\n experimentId\\n variantId\\n __typename\\n }\\n totalCount\\n pageInfo {\\n startCursor\\n hasPreviousPage\\n endCursor\\n hasNextPage\\n __typename\\n }\\n __typename\\n }\\n}\\n","variables":{"page":{"count":36},"filter":{"queryString":null,"category":"2","regionId":null,"attributeFilters":[]},"sortBy":"CREATED_DESC"},"operationName":"ListingsPage"}'
response = requests.post('https://www.tayara.tn/graphql', headers=headers, data=data)
print(response.json()['data']['listings']['totalCount'])