最近我写的爬虫在爬取数据的时候变得不太好用了,两三天前还是可以正常爬取数据的,今天运行的时候返回了空值。我打开源代码,将抓取的网页内容print出来看了一下,发现返回了这样一个网页:

<html style="height:100%"><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"></head><body style="margin:0px;height:100%"><iframe src="/_Incapsula_Resource?SWUDNSAI=9&xinfo=14-73717949-0%202CNN%20RT%281531788981588%200%29%20q%280%20-1%20-1%20-1%29%20r%280%20-1%29%20B12%288%2c881023%2c0%29&incident_id=810000430074365444-466505767058014910&edet=12&cinfo=08000000" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 810000430074365444-466505767058014910</iframe></body>
</html>
<iframe src="/_Incapsula_Resource?SWUDNSAI=9&xinfo=14-73717949-0%202CNN%20RT%281531788981588%200%29%20q%280%20-1%20-1%20-1%29%20r%280%20-1%29%20B12%288%2c881023%2c0%29&incident_id=810000430074365444-466505767058014910&edet=12&cinfo=08000000" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 810000430074365444-466505767058014910</iframe>

“Request unsuccessful”,这个请求没有成功......;我注意到返回的这个HTML的头文件中有一个<meta>属性中出现了robots的字样,

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

以前没有见过这个属性,因此觉得问题的突破口可能就是这个,上网百度之后发现,NAME=ROBOTS和content=“noidex,nofollow”这两个attribute就是用来屏蔽网络爬虫的。因为我的爬虫程序比较简单,在使用requests.get()的方法时并没有发送headers过去,因此被网站认为是网络机器人(网络爬虫),限制了我的程序对网站的访问。

知道了问题的原因,接下来就容易多了;打开Chrome,F12打开开发者工具,在Chrome地址栏输入要爬取的网址,然后如下图所示,找到网页主体内容:

我这里抓取的网页主体是一个HTML文件,所以点击这个HTML文件,右侧栏就会出现这个请求的详细信息,这里我需要用到request headers里面的信息;既然网站将我们判定为机器人,那我们就将程序模拟人的操作,这时候headers就派上用场了。

一般情况下,只需要将User-Agent的信息传递过去就可以了,但是对于一些验证比较严格的网站,可能需要的信息就要多了;这个时候,我们就将request headers里面的请求头一个一个传进去试一下。

我这里最开始的时候只传Referer和User-Agent进去的时候就可以正常取回数据了,可当我第二次运行的时候,就又返回了request unsuccessful,最后我将cookie传进去之后就没啥问题了。但是我这里传递的cookie是固定的,不具有普适性,后续有空了会再更新这篇博客。

Python 爬虫心得相关推荐

  1. 手机写python爬虫_零基础开始写Python爬虫心得

    零基础学习爬虫,坑确实比较多,总结如下: 1.环境配置,各种安装包.环境变量,对小白太不友好: 2.缺少合理的学习路径,上来 Python.HTML 各种学,极其容易放弃: 3.Python有很多包. ...

  2. python携程酒店评论_携程酒店评论爬虫心得

    携程酒店评论爬虫心得 发布时间:2018-09-02 15:58, 浏览次数:613 携程酒店评论爬虫心得 这次爬取数据,遇到了不少的困难,也走了很多弯路,特此写下帮助记忆.以下基本是我爬取数据的过程 ...

  3. python 爬虫抓取心得分享

    /** author: insun title:python 爬虫抓取心得分享 blog:http://yxmhero1989.blog.163.com/blog/static/11215795620 ...

  4. python爬虫的学习心得分享

    最近在学习python爬虫上网也找了一些教程,感觉有一个个人教程不错,还有就是大神们推荐的一本python入门及爬虫学习的书籍Python for Informatics >(中文翻译叫< ...

  5. 初学python的体会心得-python初学心得

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! python 是一门编程语言,任何编程语言从一开始就离不开动手实践,光靠看书.看视 ...

  6. python简介怎么写-python爬虫简历怎么写

    python爬虫简历怎么写? python爬虫简历如下: 1. 基本信息 求职岗位:Python爬虫工程师(全职) 期望薪资:15000以上 姓名:xx 手机号码:xxxx 邮箱:xxxx@qq.co ...

  7. python爬虫赚钱途径-终于领会python爬虫赚钱的途径

    python爬虫怎么赚钱?python爬虫爬到有价值的数据,进行建模,挖掘就会产生商业价值,下面是小编为您整理的关于python爬虫赚钱的途径,希望对你有所帮助. python爬虫赚钱的途径 Pyth ...

  8. python爬虫提取人名_python爬虫—爬取英文名以及正则表达式的介绍

    python爬虫-爬取英文名以及正则表达式的介绍 爬取英文名: 一. 爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv ...

  9. 路飞学城-Python爬虫集训-第一章

    自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...

最新文章

  1. mysql repalication_MySQL主从复制的原理及配置方法(比较详细)
  2. 与猜数问题有关的游戏C语言,猜数字游戏(C语言版)
  3. Android性能优化之运算篇(二)
  4. 终端、虚拟控制台与伪终端
  5. 简介DOTNET 编译原理 简介DOTNET 编译原理 简介DOTNET 编译原理
  6. 转:概述RAID磁盘的IOPS
  7. 手持设备点击响应速度,鼠标事件与touch事件的那些事
  8. Android - Activity 生命周期
  9. kubernetes kubeadm init this version of kubeadm only supports deploying clusters kubeadm版本降级
  10. 【9933】单词的划分
  11. 让你尖叫的游戏开发工具清单
  12. 165-手表品牌浅看一下
  13. POJ 1417 True Liars 带权并查集 + 背包
  14. chrony配置外部时钟源后stratum=16
  15. MacOS解决sudo权限问题以及授予非管理员用户根目录管理权限
  16. Radiology:人工智能系统脑MRI鉴别诊断精度接近神经放射科医生水平
  17. C++primer plus学习笔记
  18. CF366D Dima and Trap Graph 题解
  19. STM32F207串口通信配置
  20. echarts demo

热门文章

  1. java.lang.arr_以太坊常见问题和错误 / java.lang.ArrayIndexOutOfBoundsException? - 汇智网...
  2. Docker入门教程 Part 1 基础概念 - 镜像、容器、仓库
  3. [办公应用]word 2007:全屏快捷键,让复制图片保持原样大小(office 全屏快捷键)...
  4. mui ajax 下拉,mui下拉菜单
  5. 使用Keras画神经网络准确性图
  6. 修复windows修复引导_如何使用安全模式修复Windows PC(以及何时应该修复)
  7. Struts 1与Struts 2区别
  8. 时间序列平稳性检验—R语言KPSS检验
  9. ps cc2019版为什么做图一复制图层就卡死_你所不知道的十个被藏起来的PS功能,超级实用!...
  10. c#模拟看板控件_C#TIPTOP电子看板