1、浏览器伪装技术原理

当爬取CSDN博客时,会发现返回403,因为对方服务器会对爬虫进行屏蔽,故需伪装成浏览器才能爬取。浏览器伪装一般通过报头进行。

2、获取网页的报头

3、代码:

import urllib.request
url="https://blog.csdn.net/blogdevteam/article/details/80324831"
header=("User-Agent","https://blog.csdn.net/blogdevteam/article/details/80324831")
#build_opener可以添加报头信息
opener=urllib.request.build_opener()
#添加报头
opener.addheaders=[header]
data=opener.open(url).read()
'''
#如果用urlopen来打开网页获取数据,则采用install_opener函数
#urllib.request.install_opener(opener)
#data=urllib.request.urlopen(url).read().decode("utf-8","ignore")
print(data)

最新文章

  1. Git 学习看这篇就够了!
  2. selenium 3.0 beta2 初体验
  3. 廖雪峰JavaScript学习摘录
  4. 试一下SVG
  5. 自己写ORM框架 SqlHelper_DG C#(java的写在链接里)
  6. java设计模式--原始模型模式
  7. Android - 多语言自动适配
  8. 201521123113《Java程序设计》第12周学习总结
  9. 嵌入式C快速翻转一个任何类型的数的二进制位
  10. name 'reload' is not defined解决方法
  11. java反射(java.lang.reflect) ---普通单例模式唯一性问题
  12. 给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)
  13. qt 在窗口上画框
  14. 撩课-Java每天5道面试题第17天
  15. Kafka创建Topic时如何将分区放置到不同的Broker中
  16. vs2017连接mysql以及问题汇总
  17. android官方资料
  18. Laravel5.5 使用队列 Queue
  19. HTML meta标签总结,HTML5 head meta属性整理
  20. SQL2008数据库导出到SQL2000全部步骤过程

热门文章

  1. C#的WaitHandle : 管理多线程状态
  2. Ubuntu+XAMPP+Wordpress的安装与配置问题
  3. hdu 1716 深搜dfs
  4. Spring Boot 定时任务单线程和多线程
  5. HDU 4527
  6. oc24--description
  7. JavaScript和Java的区别
  8. Java-杂项:Float 加减精度问题
  9. angular4 select 绑定(ngModel)对象
  10. [.Net] DataTable添加列和行的三种方法