Загрузить всю html страницу в python - PullRequest
0 голосов
/ 30 мая 2020

Мне нужно сохранить в переменной str всю страницу html. Я делаю это:

import requests
from bs4 import BeautifulSoup

url = my_url
response = requests.get(url)
page = str(BeautifulSoup(response.content))

Это работает, но страница в my_url не «завершена». Это веб-сайт, на котором до конца будут загружаться новые вещи, и мне нужна вся страница, а не только основная видимая часть.

Есть ли способ загрузить всю страницу, а затем сохранить ее?

Я также попытался загрузить страницу вручную, а затем посмотрел на исходный код, но последняя часть страницы все еще не видна.

В качестве альтернативы, все, что я хочу от страницы my_url, - это все ссылки внутри нее, и все они имеют вид:

my_url/something/first-post
my_url/something/second-post

Есть ли способ найти все ссылки другим способом? Итак, все возможные URL-адреса, которые начинаются с "my_url / something /"

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 30 мая 2020

Я думаю, вам следует использовать Selenium , а затем прокрутить его вниз, чтобы получить всю страницу.

насколько я знаю requests не может обрабатывать динамические c страницы.

0 голосов
/ 30 мая 2020

Для альтернативного варианта вы можете найти <a> tags через find_all

links = soup.find_all('a')

, чтобы получить все, начиная с, вы можете использовать следующие

result = [link for link  in links if link.startswith('my_url/something/')]
...