更新部分爬虫以兼容本地运行及数据库存储
This commit is contained in:
@@ -95,15 +95,25 @@ class DouYinClient(AbstractApiClient):
|
||||
params["a_bogus"] = a_bogus
|
||||
|
||||
async def request(self, method, url, **kwargs):
|
||||
async with httpx.AsyncClient(proxy=self.proxy) as client:
|
||||
response = await client.request(method, url, timeout=self.timeout, **kwargs)
|
||||
try:
|
||||
if response.text == "" or response.text == "blocked":
|
||||
utils.logger.error(f"request params incrr, response.text: {response.text}")
|
||||
raise Exception("account blocked")
|
||||
return response.json()
|
||||
async with httpx.AsyncClient(proxy=self.proxy) as client:
|
||||
response = await client.request(method, url, timeout=self.timeout, **kwargs)
|
||||
try:
|
||||
if response.text == "" or response.text == "blocked":
|
||||
utils.logger.error(f"request params incrr, response.text: {response.text}")
|
||||
raise Exception("account blocked")
|
||||
return response.json()
|
||||
except Exception as e:
|
||||
raise DataFetchError(f"{e}, {response.text}")
|
||||
except (httpx.ConnectError, httpx.ConnectTimeout, httpx.ReadTimeout, httpx.WriteTimeout) as e:
|
||||
utils.logger.error(f"网络连接错误: {type(e).__name__}: {e}")
|
||||
raise DataFetchError(f"网络连接失败: {type(e).__name__}: {e}")
|
||||
except httpx.TimeoutException as e:
|
||||
utils.logger.error(f"请求超时: {e}")
|
||||
raise DataFetchError(f"请求超时: {e}")
|
||||
except Exception as e:
|
||||
raise DataFetchError(f"{e}, {response.text}")
|
||||
utils.logger.error(f"请求异常: {type(e).__name__}: {e}")
|
||||
raise DataFetchError(f"请求失败: {type(e).__name__}: {e}")
|
||||
|
||||
async def get(self, uri: str, params: Optional[Dict] = None, headers: Optional[Dict] = None):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user