报错如下:

Traceback (most recent call last):File "*.py", line 37, in <module>html = get(URL, header)File "*.py", line 20, in get_HTMLhtml = urllib.request.urlopen(request)File "lib/python3.6/urllib/request.py", line 223, in urlopenreturn opener.open(url, data, timeout)File "lib/python3.6/urllib/request.py", line 526, in openresponse = self._open(req, data)File "lib/python3.6/urllib/request.py", line 544, in _open'_open', req)File "lib/python3.6/urllib/request.py", line 504, in _call_chainresult = func(*args)File "lib/python3.6/urllib/request.py", line 1361, in https_opencontext=self._context, check_hostname=self._check_hostname)File "lib/python3.6/urllib/request.py", line 1318, in do_openencode_chunked=req.has_header('Transfer-encoding'))File "lib/python3.6/http/client.py", line 1239, in requestself._send_request(method, url, body, headers, encode_chunked)File "lib/python3.6/http/client.py", line 1280, in _send_requestself.putheader(hdr, value)File "lib/python3.6/http/client.py", line 1216, in putheaderif _is_illegal_header_value(values[i]):
TypeError: expected string or bytes-like object

错误原因:
请求加上HTTP报头信息,但是其中’Referer’设置为None。HTTP协议头中的Referer让服务器判断来源页面。Referer有什么作用呢?

2.防止恶意请求。比如静态请求是*.html结尾的,动态请求是*.shtml,那么由此可以这么用,所有的*.shtml请求,必须 Referer 为我自己的网站。
那么在这里设置称为空的Referer,表示一个HTTP请求根本不包含Referer头部。根据Referer的定义,它的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源。比如,直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer 字段的,因为这是一个“凭空产生”的 HTTP 请求,并不是从一个地方链接过去的。

允许 Referer 为空,意味着你允许比如浏览器直接访问,就是空。

解决方法:
1.删除Referer
2.可以设置抓取网站的Host

Reference:
什么是Referer?Referer的作用?空Referer是怎么回事?

解决 TypeError: expected string or bytes-like object相关推荐

  1. Python 报错TypeError: expected string or bytes-like object

    问题描述:Python 中报错TypeError: expected string or bytes-like object 解决方法:根据报错上方的提示信息,大体猜测到可能出错的具体地方.出现该报错 ...

  2. TypeError: expected string or bytes-like object

    re.findall遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表. 在调用re.findall的时候出现下面的错误 TypeError: expected string or bytes- ...

  3. 解决:return _compile(pattern, flags).search(string) TypeError: expected string or buffer

    今天写爬虫,爬取MM图片页面的标题时,遇到了一个问题,上图: 看看我的代码: 1 import urllib 2 import urllib2 3 import re 4 5 class JPMSG: ...

  4. pip安装库包遇到错误:TypeError: expected str, bytes or os.PathLike object, not int 的解决方法

    1 问题描述 1.在安装python3的库包时候,遇到和os模块相关的错误:TypeError: expected str, bytes or os.PathLike object, not int, ...

  5. 解决HuggingFace加载预训练模型时报错TypeError: expected str, bytes or os.PathLike object, not NoneType

    完整报错: TypeError: expected str, bytes or os.PathLike object, not NoneType 解决方法 检查下载的组件: 步骤1:完整的下载组件,包 ...

  6. TypeError: expected str, bytes or os.PathLike object, not int(解决方法)

    在使用 pip 安装软件时,报错如下 $ pip install numpy Exception: Traceback (most recent call last):   File "/u ...

  7. TypeError: expected str, bytes or os.PathLike object, not module

    TypeError: expected str, bytes or os.PathLike object, not module 目录 TypeError: expected str, bytes o ...

  8. 成功解决TypeError: sequence item 0: expected str instance, bytes found

    成功解决TypeError: sequence item 0: expected str instance, bytes found 目录 解决问题 解决思路 解决方法 解决问题 TypeError: ...

  9. 解决ValueError: Iterable over raw text documents expected, string object received.

    运行脚本,发现会报 ValueError: Iterable over raw text documents expected, string object received.这种错误, 分析发现是传 ...

最新文章

  1. PathComposePathEffectView 使用
  2. PCL点云库实现点云表面的法线与曲率计算并可视化
  3. 【深度学习】深度学习在视觉搜索和匹配中的应用
  4. SpringFramework4系列之SpringJMS:(一)搭建JMS-注解加XML版
  5. H面试程序(29):求最大递增数
  6. API设计原则 - Qt官网的设计实践总结
  7. 简约而不简单的 Django 新手图文教程
  8. if laytpl 非_Layui-神奇的layui.laytpl
  9. 微服务架构实战篇(二):Spring boot2.0 + Swagger2 让你的API可视化
  10. 关于 TCP协议和HTTP关系 | TCP的三次握手和四次挥手
  11. SharePoint365 接入简要笔记
  12. [机器学习入门笔记] 2. 2022吴恩达机器学习Deeplearning.ai课程(回顾)
  13. 财会法规与职业道德【3】
  14. 1.centos7 安装murmur
  15. 720phi10p 和 720p有什么区别_除了情怀还剩什么?索尼Z5 Compact评测
  16. 7-1 计算π的值 (10分) java
  17. NDK33_最全排查UnsatisfiedLinkError: No implementation found
  18. ASP.NET 数据绑定详解 代码+步骤
  19. 牛客第八场_E-Enigmatic Partition(神仙差分)
  20. Linux进程中Dec04什么意思,Linux下缩小可执行程序 (一) 非使用符号的去除

热门文章

  1. 加油吧 !!!冲冲冲
  2. springboot项目 o.s.b.d.LoggingFailureAnalysisReporter 错误解决方法
  3. 证券市场基础知识(三)——回购市场
  4. java服务端用到的javase的基础知识_javase基础篇知识归纳
  5. 硬件学习之路-改善稳压电路的动态响应
  6. 硬盘格式化以后文件还能恢复吗?
  7. 绿色石化高质量发展 茂名天源石化碳三碳四资源利用项目开工
  8. 中小型企业开发门户网站我建议你选择阿里云的云速美站
  9. 天眼查 Authorized和企查查 sign破解
  10. 2022年河南省焊工高级技师理论知识模拟试题及答案