Как сканировать несколько страниц обзора, используя Python? - PullRequest
2 голосов
/ 25 января 2020

У меня вопрос по поводу веб-сканера. Я хочу получить несколько страниц обзора, используя Python.

Вот мой код для веб-сканера.

URL = 'https://www.example.co.kr/users/sign_in'

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'
headers = {'Content-type': 'application/json', 'Accept': 'text/plain', 'User-Agent':user_agent}
login_data = {'user':{'email':'id', 'password':'password', 'remember_me':'true'}}

client = requests.session()
login_response = client.post(URL, json = login_data, headers = headers)
print(login_response.content.decode('utf-8'))

jre = 'https://www.example.co.kr/companies/reviews/ent?page=1'
index = client.get(jre)
html = index.content.decode('utf-8')
print(html)

Этот код получает только page = 1, но я хочу получить page = 1, page = 2, page3 .... используя метод форматирования. Как мне этого добиться?

1 Ответ

0 голосов
/ 25 января 2020

Вы должны использовать while oa для l oop на каждой странице, в зависимости от ваших потребностей. Попробуйте шаблон, подобный следующему:

page = 1
while page <= MAX_PAGE or not REACHED_STOPPING_CONDITION:

  # Compose page url
  jre = f'https://www.example.co.kr/companies/reviews/ent?page={page}'
  # Get page url
  index = client.get(jre)

  # Do stuff...

  # Increment page counter
  page += 1

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

. Другой способ навигации по страницам веб-сайта - найти в документе ссылку «Следующая страница» или «Предыдущая страница», а затем взаимодействовать с ними:

# Compose page url
jre = 'https://www.example.co.kr/companies/reviews/ent?page=1'
# Get page
index = client.get(jre)

while page <= MAX_PAGE or not REACHED_STOPPING_CONDITION:

  # Do stuff...

  # Search next page element (ex. by CSS selector)
  jre.find_element_by_css_selector('next-page').click()
  # Increment page counter
  page += 1
...