我想知道是否有人可以推荐在Python3.5中执行此操作的最佳过程:
我有250套用户名和密码 我必须登录到一个特定的网站为每个帐户(所以250次)和抓取他们的帐户信息
我见过一些例子,但通常只有一次登录尝试。但是对于多次登录呢?在
import requests
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
# read accounts information from spreadsheet
data = pd.read_csv("HWIN Accounts.csv")
data.dropna()
# Parameters to be called
url = 'https://www.hwin.ca/hwin/login.jsp'
USERNAME = data['Username']
PASSWORD = data['Password']
data = []
data2 = []
# Find Outstanding Payments Due on Payment Tab
def find_payment(html):
soup = BeautifulSoup(html)
table = soup.find("td", {"class": "success"}, text=True)
data2.append(table.text)
# Find Account Status
def find_account_status(htmls):
soup = BeautifulSoup(htmls)
table = soup.find('table', border="0", cellpadding="2")
table_body = table.find('tbody')
rows = table_body.find_all('tr')
for row in rows:
cols = row.find_all('td')
cols = [ele.text.strip() for ele in cols]
data.append([ele for ele in cols if ele])
# Sign into HWIN looping through each individual account
for i in range(len(USERNAME)):
browser = webdriver.Firefox()
browser.get(url)
# Input Login information into form
username = browser.find_element_by_name("userName")
username.send_keys(USERNAME[i])
password = browser.find_element_by_name("password")
password.send_keys(PASSWORD[i])
form = browser.find_element_by_name("imageField")
form.submit()
# Navigate to Account Status Tab
browser.find_element_by_link_text("Account status").click()
# Extract Account Status Tab
htmls = browser.page_source
find_account_status(htmls)
# Navigate to Payments Tab
browser.find_element_by_name("payments").click()
# Extract Payment data
html = browser.page_source
find_payment(html)
# Close Browser
browser.quit()
print(data)
print(data2)
目前没有回答
相关问题 更多 >
编程相关推荐