在python解析网页内容爬虫时出现乱码问题怎么解决:[‘ä¸\x89äº\x9a‘, ‘å¤\x9aäº\x91‘, ‘30/25â\x84\x83‘, ‘é\x80\x82å®\x9c‘,

一.解析网页的内容

1.使用requests请求发送请求头

2.使用etree解析网页

注意:区分text和content的区别

如果是text 运行的话便会出现乱码现象

此时我们只需要把text改为content,再次运行

出现【中文乱码】原因
使用requests库时,选择使用的文本响应方法不合适,且没有在代码中添加设置合适的编码,以致于使用【response.text】自动获取到的网页编码,与实际网页的编码不一致,进而产生【中文乱码】。
1、【response.text】会自动根据HTTP头部去推测网页的编码,解码并返回解码后的文本
2、【response.content】不会解码,直接以二进制形式返回

以下是text和content的区别:

3.使用xpath解析解析网页内容,添加读取文本内容

(在网页中按F12选中要解析的内容并右击复制xpath路径)

4.使用csv写入文件

attractions.csv:写入文化名;
'w':写入,
newline='':换行,
encoding='utf-8':设置编码格式

注意:writerow()和writerows()的区别
writerow()

writerow()将一个列表全部写入csv的同一行。

writerows()

writerows()将一个二维列表中的每一个列表写为一行。

### 处理 API 返回 `fileid` 为空的情况 当遇到 API 返回 `fileid` 为空的问题,通常意味着客户端发送的数据存在问题或服务器端未能正确处理请求。对于这个问题,可以采取以下措施来排查并解决问题。 #### 验证输入数据的有效性 确保上传文件过程中传递给 API 的所有字段都已正确定义并且有效。特别是检查 `fileId` 是否被正确设置为字符串类型[^3]。如果使用的是前端框架或工具链,则需确认这些环境中的变量赋值逻辑无误。 #### 检查网络连接状况 有由于网络波动或其他外部因素可能导致请求失败或响应不全。建议测试不同环境下(本地开发、生产部署)该接口的表现情况;另外也可以尝试增加超重试机制以提高稳定性。 #### 查看详细的错误日志 API 响应中包含了具体的错误码 (`code`) 和描述信息 (`desc`) ,这对于诊断问题是很有帮助的。当前情况下收到的状态码为 `500` 表明这是一个内部服务器错误而不是客户端引起的异常。因此应该联系服务提供商获取更多关于此次调用的具体原因,并查看是否有维护公告发布。 ```python try: response = requests.post( 'https://chatdoc.xfyun.cn/openapi/v1/file/summary/query', files={'file': open('example.pdf', 'rb')}, data={'fileId': 'your_valid_file_id'} ) if not isinstance(response.json().get('data'), dict) or \ not response.json()['data'].get('fileId'): raise ValueError("File ID is missing from the server's response.") except Exception as e: print(f"An error occurred while processing the request: {str(e)}") ``` 此代码片段展示了如何向指定 URL 发送带有附件和必要表单参数的 POST 请求,并验证返回 JSON 中是否存在有效的 `fileId` 。如果没有找到预期的结果则抛出异常提醒开发者注意。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值