selenium 我想从文件中读取输入,然后使用Selify和Python删除结果

sy5wg1nm  于 2022-11-10  发布在  Python
关注(0)|答案(1)|浏览(125)

我需要通过输入userId并获取返回到CSV文件的所有数据来抓取网站数据。因此,我创建了一个包含所有Id的CSV文件。
如何添加id作为输入并等待数据加载?我需要以下内容:
1.将CSV的输入输入论坛
1.加载数据
1.1000个用户的抓取结果
以下是我目前的代码:

DRIVER_PATH = '/chromedriver'
driver = webdriver.Chrome(executable_path=DRIVER_PATH)
driver.get('https://g12-result.moe.gov.eg/')
driver.implicitly_wait(10)
driver.maximize_window()

# read CSV file that contains seat numbers

csv_file = open('/Id.csv','r',newline='')

# Enter list of id

idText = driver.find_element("id","SeatingNo")
idText.send_keys(870000)
submit = driver.find_element("xpath","//button[@type='submit']").click()

图片:

iswrvxsc

iswrvxsc1#

有关如何使用cloudscraperpandas处理具有ID的CSV文件的代码,请参阅以下代码:

import cloudscraper
import pandas as pd
import time

# first get the request verification token

scraper = cloudscraper.create_scraper()
SeatingNo = '870000'
res = scraper.get("https://g12-result.moe.gov.eg/")
soup = BeautifulSoup(res.text, "html.parser")
__RequestVerificationToken = soup.find(type="hidden")['value']

def get_data(row):
    data = {'SeatingNo': row['id'], '__RequestVerificationToken': __RequestVerificationToken}
    res = scraper.post("https://g12-result.moe.gov.eg/", data=data)
    dfs = pd.read_html(res.text, index_col=0) # extract tables to pandas dataframes
    dfs = [i.T.reset_index(drop=True) for i in dfs] # transpose the dataframes
    time.sleep(1.5) # sleep for a while to avoid being rate limited 
    return pd.concat([row, pd.concat(dfs, axis=1).iloc[0]]) # return the concatenated tables appended to the dataframe row

df = pd.DataFrame([870000, 330814], columns=['id']) # dummy dataframe, replace with df = pd.read_csv('filename.csv') and update row['id'] above with the right id column name
df = df.apply(get_data, axis=1)
df.to_csv('output.csv') # store dataframe as csv

产出:
|id|رقمالجلوس|الإسم|المدرسة|المديرية|الإدارة|اسماللجنة|عنواناللجنة|الهاتف|اللغةالعربية|اللغةالأجنبيةالأولى|اللغةالأجنبيةالثانية|الأحياء|الجيولوجياوعلومالبيئة|الكيمياء|الفيزياء|المجموعالكلى|التربيةالدينية|التربيةالوطنية|الإقتصادوالإحصاء
|-|-|-|
0|870000|870000|خالدناديمحمودمحمد|منازلإدارةدشنا|قنــــــــا|دشنا|لجنةالنظاموالمراقبةقطاعاسيوطأ|معهدالتربيةالفكريةبأسيوط-خلفمديريةالزراعه|0882305164|41|32|35|30|30|16|30|214|إجتاز|إجتاز|إجتاز
1|330814|330814|زينباحمدمحمدعبداللهاللهلوبي|الماىالثانويةالمشتركة|المنوفية|شبينالكوم|لجنةالنظاموالمراقبةقطاعالقاهرةج|مدرسةالحلميةالاعداديةالقديمةبنين-1شارعمصطفىفاضلمنشارعبورسعيد-السيدةزينب|0223928106|53|35|39|35|42|30|30|264|19|22|33

相关问题