我正在尝试抓取链接列表,为此我正在使用 concurrent.futures。 这是我目前使用的代码
with concurrent.futures.ThreadPoolExecutor(max_workers=2) as executor:
future_to_url = {
executor.submit(get_data, row[1]): row for row in df.iterrows()
}
for future in concurrent.futures.as_completed(future_to_url):
url = future_to_url[future]
try:
data = future.result()
final = pd.concat([final, data], sort=False)
# print(final)
except Exception as exc:
# pdb.set_trace()
errors = pd.concat([errors,pd.DataFrame({"url":url, "error":exc})[1:]])
数据框 df 包含两列 - 链接和国家/地区。
链接 | 国家 |
---|---|
ABC.com | 美国 |
XYZ.com | 加拿大 |
函数 get_data 是从链接中抓取数据的调用。现在我想要做的是创建另一个名为 errors 的数据框,其中包含两列 - url 和 error ,以便我可以将 url 与异常一起存储在 excel 中。 例如-
网址 | 错误 |
---|---|
ABC.com | 错误信息 |
但问题是我无法仅在错误数据帧的 url 列中链接并获得这样的元组。
(1, Sources https://coinatmradar.com/bitcoin_atm/23676/bit...
Country United States
Name: 1, dtype: object).
这里连链接都不完整。
有这样做的想法吗?