Python爬虫教程-35-编程常见问题解决方法

本文介绍了Python爬虫编程中常见的问题及解决方法,包括POST数据类型错误、HTML中文乱码、模拟浏览器避免IP被封、JSON数据乱码、只输出JSON的部分内容、处理返回的链接页面以及写入HTML文件时的编码问题。提供了详细的解决方案和调试步骤。
摘要由CSDN通过智能技术生成
                       

Python爬虫编程常见问题解决方法:

1.通用的解决方案:【按住Ctrl键不送松】,同时用鼠标点击【方法名】,查看文档

2.TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.
问题描述:【类型错误】就是数据的类型应该是bytes类型,而不是str类型
解决方案:

data = data.encode('utf-8')
  
  
  
  • 1

3.爬取得到的HTML在一行显示
调试步骤:通过print(type(html))查看html的类型, 可以查出是bytes类型,就需要解码
解决方案:

html = html.decode()
  
  
  
  • 1

4.有时候使用爬虫会被网站封了IP,所以需要去模拟浏览器
解决方案:

header = {
   "User-Agent": "mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"}req = request.Request(url=base_url,data=bytes(data,encoding='utf-8'),headers=header)
  
  
  
  • 1
  • 2

5.当服务器返回json格式的数据乱码
调试步骤: 1.通过print(type(json_data))查看数据的类型, 
 2.可以查出是str类型,就是说返回的字符串中有bytes类型的数据
解决方案:把json字符串转换为字典

json_data = json.loads(json_data)
  
  
  
  • 1

6.怎么只输出json数据的value或者某个key对应的value,不要[{}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值