Как решить проблему с cookie на этом сайте? - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь получить всю плоскую информацию с этой страницы .

Это довольно просто для анализа этой страницы. Я просто использовал заголовки из браузера в качестве параметра для запусказапросы.

Тем не менее, когда я пытался получить данные с других страниц, таких как третья страница .

Тот же самого 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 больше не работает.

...