Я пытаюсь получить всю плоскую информацию с этой страницы .
Это довольно просто для анализа этой страницы. Я просто использовал заголовки из браузера в качестве параметра для запусказапросы.
Тем не менее, когда я пытался получить данные с других страниц, таких как третья страница .
Тот же самого request.get не удалось получить реальную страницу.
Чтобы решить эту проблему, мне приходилось обновлять куки-файлы каждый раз, когда они терпели неудачу.
Код (основная логика):
base_url = 'https://www.gumtree.com/property-to-rent/uk/flat'
doc = parse_to_doc(base_url, headers=headers)
number = int(get_selector_from(doc).xpath('//text()[contains(., "ads in")]')[0].split(' ads')[0].replace(',', ''))
print(f'There are {number} records in total.')
all_records = []
i = 1
while len(all_records) < number:
print(len(all_records))
i += 1
url = f'{base_url}/page{i}'
all_records.extend(get_table(url))
time.sleep(10)
headers - это словарь, который яскопировано из браузера.
Вывод этого кода:
There are 28030 records in total.
0
30
30
30
30
...
Это означает, что после успешного получения 30 записей с первой страницы файл cookie больше не работает.