как очистить несколько страниц с помощью stati c url, запросить метод get - PullRequest
1 голос
/ 09 апреля 2020

во-первых, простите за мой английский sh, во-вторых, мне всего 2 недели в python.

прямо сейчас я использую python, модуль селен и хроматограф, страница, которую я хочу почистить: "http://lpse.maroskab.go.id/eproc4/lelang", код, который я использую, это:

from time import sleep
from selenium import webdriver
from bs4 import BeautifulSoup as bs
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("disable-extensions")
chrome_options.add_argument("disable-gpu")
chrome_options.add_argument("headless")

path =r'F:\python latian\webdriver\chromedriver.exe'

driver = webdriver.Chrome(options=chrome_options, executable_path = path)
driver.get('http://lpse.maroskab.go.id/eproc4/lelang')
sleep(5)
page=bs(driver.page_source,"html.parser")
code=page.find_all(class_="sorting_1")
for xx in code:
   kode=xx.contents[0]
   print(code)

но с помощью этого кода я получаю данные только с первой страницы, и что я хочу сделать, это удалить другую страницу, то я столкнулся ( эта тема ), но ответ в этой теме метод запроса "post" , а в моем "get" . я прочитал там предложение использовать "urllib.request", но, как я знаю, этот метод работает, только если я знаю URL. спасибо

1 Ответ

0 голосов
/ 09 апреля 2020

Существует множество способов go по этому поводу, и перебор нескольких страниц не тривиален, ваш код потребует значительных улучшений. Поскольку вы новичок, я дам вам то, что вам нужно включить, а также приведу пример, который вы можете использовать для включения в свой код.

Вам определенно нужно будет использовать Явные ожидания для ожидания для невидимости индикаторов «загрузки».

Вам также понадобится бесконечный l oop, из которого мы выйдем, только если ссылка «Следующая страница» станет недоступной (больше страниц не будет доступно).

Это хороший пример и используйте ответ @ alecxe.

...