# requests是第三方库,需要安装 pip install requests
import requests
import random
# 通常很多网站都会设置检测请求头中的User-Agent,所以在编写爬虫代码时一般都会加上user-agent
url = 'http://www.zhihu.com' # 如果同一个user-agent请求次数过多,可能也可能被检测出来,所以我们可以写一个列表,里面存放很多的user-agent,每次请求在列表中随机抽取一个
user_list = ["Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.514.0 Safari/534.7",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/9.0.601.0 Safari/534.14",
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/10.0.601.0 Safari/534.14",
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Chrome/11.0.672.2 Safari/534.20",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1",
"Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.36 Safari/535.7",
"Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; en-US; rv:1.9pre) Gecko/2008072421 Minefield/3.0.2pre",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 GTB5",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0E)",
"Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"] headers = {
'User-Agent':random.choice(user_list)
}
# 可以打印查看每次选出了哪一个user-agent
print(headers) r = requests.get(url=url,headers=headers)
# 也可以试一下,如果不加headers会不会返回正确的状态码
print(r.status_code)
'''
常见的状态码及含义:
200 OK 一切正常
301 Moved Permanently 重定向到新的URL,永久性
302 Found 重定向到临时的URL,非永久性
304 Not Modified 请求的资源未更新
400 Bad Request 非法请求
401 Unauthorized 请求未经授权
403 Forbidden 禁止访问
404 Not Found 没有找到对应页面
500 Internal Server Error 服务器内部出现错误
501 Not Implemented 服务器不支持实现请求所需要的功能
'''

  

最新文章

  1. Swift与C#的基础语法比较
  2. 备忘录:hadoop技术一点积累
  3. maven项目部署打包
  4. http://blog.csdn.net/yangyuhan156/article/details/48899439
  5. DB2常识
  6. EasyUI + EF + MVC4 后台截图
  7. HW机试字符串压缩java(1)
  8. PHP的哲学:Simple Is Hard
  9. 【原创】Freak3D printer 的Repetier-Host 的设置
  10. HTML的TextArea标记跟随文本内容自动设置高度
  11. LCD12864 液晶显示-汉字及自定义显示(并口)
  12. Eclipse设置Tab键为空格!
  13. [坑况]——windows升级node最新版本报错【npm install -g n】
  14. 最小生成树(kruskal算法)
  15. 对Vuex的初步了解
  16. TIJ -- 吐司BlockingQueue
  17. java_24 FileOutputStream类和FileInputStream类
  18. ui设计用什么软件
  19. 分类算法----k近邻算法
  20. 浅谈TCP通讯

热门文章

  1. [BZOJ4521][Cqoi2016]手机号码 (数位dp)
  2. oracle数据结构
  3. vue.js路由嵌套
  4. django组件之form
  5. Realm数据库的使用
  6. linux输入输出及vim管理
  7. Photoshop入门教程(二):暂存盘设置与标尺设置
  8. opencv-将分离合并图像(Red通道>125置255<=置0)
  9. Autel MaxiSYS Pro Diagnostic System
  10. Python数据可视化--matplotlib