Очень плохо знаком с python и нуждается в помощи о том, как правильно l oop через ссылку, увеличивая значение pageNo на URL, который мне нужно почистить, затем непрерывно добавляйте результаты в df
Вот что у меня есть.
Ссылка находится за стеной входа в систему, но я надеюсь, что вам не нужно это смотреть в мой код.
Заранее спасибо!
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup
import urllib.request
import pandas as pd
import time
from pymongo import MongoClient
#database
client = MongoClient("xxx")
db = client["xxx"]
collection = db["xxx"]
# launch WMS
url = "https://xxx.inserdomain.com/solution/login.htm"
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)
#Login start
username = driver.find_element_by_id("username")
username.clear()
username.send_keys("xxx")
password = driver.find_element_by_id("password")
password.clear()
password.send_keys("xxx")
driver.find_element_by_id("loginButton").click()
#login end
# open shipments page
pageSize = 200
pageNo = 0
currentView = 34448
url2 = "https://xxx.insertdomain.com/solution/entitylist.htm?entityName=Shipment&tabName=Shipment&pageNo={pageNo}&pageSize={pageSize}¤tViewId={currentView}".format(pageNo=pageNo, pageSize=pageSize, currentView=currentView)
driver.get(url2)
html = driver.page_source
dfs = pd.read_html(html, attrs={"class":"roundedTable"}, header=5)
for df in dfs:
df.dropna(how="all", axis="columns", inplace=True),
df.drop("No", axis="columns", inplace=True),
df.dropna(how='all', axis=0, inplace=True),
print(df.to_json(orient="index"))
df.reset_index(inplace=True)
df_dict = df.to_dict("records")
collection.insert_many(df_dict)