我正在研究一个报废代码以从.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