我正在研究一個報廢代碼以從.aspx網頁抓取信息。我想檢索數據庫中的所有記錄,但我沒有記錄索引的列表。我只知道該索引是一個介於1到9000000之間的整數。因此,我正在考慮使用蠻力對索引使用for循環。如何使用多個參數多處理for循環
我想從每條記錄中檢索某些信息。所以,我用beautifulsoup和pandas.DataFrame來存儲我想要的信息。然後,我追加數據框來收集記錄。
例如:
df_all = pandas.DataFrame(col= ['A', 'B', 'C'])
# id: Unique id of each record; df_all: the dataframe that stores the records
def func(id, df_all):
"""
Use beautifulsoup to collect the info from the webpage
"""
df_temp = pd.DataFrame([1,2,3], col= ['A', 'B', 'C'])
df_all = df_all.append(df_temp, ignore_index= True)
return df_all
我想用幾個for循環來同時執行FUNC功能。例如,第一個客戶端的IP地址爲1到22500000;第二個客戶端22500001至4500000;等等。然後我可以結合每個客戶的結果。我試圖使用ipyparallel,multiprocessing.pool和joblib。但是,似乎我的函數的結構對於並行處理是不正確的。我應該如何修改我的結構以執行並行循環任務?還是有更好的方法從數據庫中獲取數據?數據庫中只有大約29k +條記錄。要使用1到90000000的索引蠻力真的不是解決這個問題的最好方法。
請詳細說明。你擁有該網站,還是別人的?如果是別人的,你怎麼連接到他們的數據庫?爲什麼你需要一個索引?你在哪裏調用BeautifulSoup,它返回什麼對象?記錄是什麼樣子的?目標是在Pandas數據框中存儲記錄嗎? – ddg
調用記錄信息的最簡單方法是使用相應的ID。我在功能裏稱了美麗的湯,因爲每個記錄都有自己的網頁。鏈接是像https://propaccess.trueautomation.com/clientdb/Property.aspx?prop_id=12345。但我必須從鏈接中獲取cookie:https://propaccess.trueautomation.com/clientdb/?cid=39首先。然後,我通過替換id號 – whh1294