问题背景:

使用Python编写爬虫时,经常会遇到反爬机制,例如网站要求必须使用浏览器访问。就像下面的403错误:

或者下面这种错误信息:

一般来说,这是遇到反爬机制了,对方要求使用浏览器访问。这时可以在爬虫程序中修改代码,设置UserAgent,假装自己是浏览器。很多人会到网上搜可用的UserAgent,但是搜到的UA也可能无法使用,只好多搜几个试试。也有时候,即使成功假装自己是浏览器,也可能被封,因为爬虫的访问速度要比人类使用浏览器正常访问快很多,这对服务器来说是不正常的。

可以想办法获取本地浏览器的真实UA,然后写到爬虫代码里,因为是真实的UA,所以基本上不会被反爬机制限制。如果本地安装了多个浏览器的话,可以全部整理出来,然后每次爬取网页时从多个UA中随机选择一个,这样的话安全系数就提高了很多,不容易被拦截了。

获取浏览器UserAgent:

如果使用Chrome浏览器(这也是在编写爬虫程序之前分析目标网页常用的浏览器)的话,可以在地址栏中输入about:version,然后在页面中即可看到UA,复制下来就可以了。

如果是360浏览器的话,可以使用下面的命令查看UA:

好像Edge、IE、FireFox这样的浏览器不支持about:version指令,如果有朋友知道类似指令的话欢迎留言告知,让更多朋友受益。

还有个万能的方法是使用Javascript代码查看本地浏览器的UA。编写一个网页,内容如下,画红线的地方是重点,获取UA并显示在页面上。

然后使用不同的浏览器打开这个网页,就可以看到UA了。

实战应用:

多准备几个不同浏览器的UA,然后编写下面的代码爬取糗事百科首页上的段子文本。因为糗事百科首页更新很快,这里就不贴爬取结果了,大家可以自己运行试一试。爬取页面上的图片也比较简单,公众号里以前推送过很多类似的案例,就不再重复了。相关文章可以按照后面的温馨提示进入历史文章列表进行查找。

温馨提示

进入公众号,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的文章列表,通过“最新资源”==>“微课专区”可以观看Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。

--------董付国老师Python系列图书--------

1)《Python程序设计(第2版)》清华大学出版社(2018年8月第9次印刷)https://item.jd.com/11949168.html

2)《Python可以这样学》清华大学出版社(2018年7月第6次印刷)(本书已在台湾发行繁体版)https://item.jd.com/12040511.html

3)《Python程序设计基础(第2版)》清华大学出版社(2018年9月第6次印刷)https://item.jd.com/12319738.html

4)《中学生可以这样学Python》清华大学出版社(2018年9月第3次印刷)https://item.jd.com/12258900.html

5)《Python程序设计开发宝典》清华大学出版社(2018年2月第3次印刷)https://item.jd.com/12143483.html

6)《玩转Python轻松过二级》清华大学出版社(2018年7月第3次印刷)https://item.jd.com/12361144.html

7)《Python程序设计基础与应用》机械工业出版社(2018年9月第1次印刷)https://item.jd.com/12433472.html?dist=jd

8)《Python程序设计实验指导书》清华大学出版社(预计2019年1月出版)

9)《Python编程基础与案例集锦(中学版)》电子工业出版社(预计2019年2月出版)

董老师127课免费视频地址: https://pan.baidu.com/s/1jJeAs8Q 密码: px59

非计算机专业《Python程序设计基础》教学参考大纲

计算机相关专业“Python程序设计”教学大纲(参考)

《Python程序设计》实验指导书(30个实验)

《Python程序设计基础与应用》课后习题答案

Python课程期末考试编程题自动批卷原理与实现模板

“Python小屋”免费资源汇总(截至2018年11月28日)

系列教学PPT:

1900页Python系列PPT分享一:基础知识(106页)

1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)

1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)

1900页Python系列PPT分享四:字符串与正则表达式(109页)

1900页Python系列PPT分享五:函数设计与应用(134页)

1900页Python系列PPT分享六:面向对象程序设计(86页)

1900页Python系列PPT分享七:文件操作(132页)

1900页Python系列PPT分享八:异常处理结构与程序调试、测试(70页)

报告PPT(163页):基于Python语言的课程群建设探讨与实践

报告PPT(123页):Python编程基础精要

2000页Python系列PPT分享九:(GUI编程)(122页)

Python实验项目1例:使用进程池统计指定范围内素数的个数

(PPT)Python程序设计课程教学内容组织与教学方法实践

JavaScript获取本机浏览器UA助力Python爬取糗事百科首页相关推荐

  1. Python爬取糗事百科段子+定时发送QQ邮箱

    文章目录 前言 1. 库导入及介绍 2. 获取网页源码 3. 提取需要的信息 4. 优化输出数据 5. 发送邮件 6. 实现定时发送 7. 源码 前言 学习Python爬虫也有段时间了,总想着搞点事做 ...

  2. Python爬取糗事百科段子

    Python爬取糗事百科段子 Python2.7.15 今天我们来爬取糗事百科的段子 一.获取糗事百科的网页源码 首先,打开浏览器,进入糗事百科,复制它的网址. 然后我们翻个页,可以看到,网址变成了这 ...

  3. 利用Python爬取糗事百科段子信息

    文章来源:公众号-智能化IT系统. 爬虫技术目前越来越流行,这里介绍一个爬虫的简单应用. 爬取的内容为糗事百科文字内容中的信息,如图所示: 爬取糗事百科文字35页的信息,通过手动浏览,以下为前四页的网 ...

  4. 读书笔记(4)——python爬取糗事百科,并存到MySQL中

    2019独角兽企业重金招聘Python工程师标准>>> 安装MySQL.使用phpStudy集成工具来安装MySQL服务器,或者可以用USBwebserve进行安装. 打开USBwe ...

  5. 用Python爬取糗事百科段子,可视化后结果发现

    大家好,我是小五???? 生活真是太苦了,需要找点快乐的精神食粮支撑社畜生活,听说糗事百科段子挺多,今天就来看一看! 糗事百科的段子栏目声称:幽默笑话大全__爆笑笑话__笑破你的肚子的搞笑段子,我们用 ...

  6. python 爬取糗事百科的段子

    本篇目标 1.抓取糗事百科热门段子 2.过滤带有图片的段子 3.实现每按一次回车显示一个段子的发布时间,发布人,段子内容,点赞数. 糗事百科是不需要登录的,所以也没必要用到Cookie,另外糗事百科有 ...

  7. python爬虫练习1:通过python爬取糗事百科的搞笑图片

    爬取糗百的图片 最近在研究python,想着自学爬虫获取数据,到时候进行数据分析 在爬取图片的时候有些曲折,但是最终还是被我攻克下来了 话不多说,我们开始 我们要爬取的网站是 糗事百科 的图片 首先, ...

  8. python爬取糗事百科

    本次要爬取的是糗事百科,地址如下:http://www.qiushibaike.com/8hr/page/1 1.思路分析: url地址的规律非常明显,一共只有13页url地址 2.确定数据的位置 数 ...

  9. python笔记之利用BeautifulSoup爬取糗事百科首页段子

    1.到糗事百科查看网页源代码找到规律,发现内容都在class_="content"的div标签内 2.直接上代码: from bs4 import BeautifulSoup #调 ...

最新文章

  1. 电影点评系统论文java_毕业设计(论文)-基于web的电影点评系统分析与设计.docx...
  2. 【转载】雨更大了的飞鸽传书
  3. matlab单元数组和结构,Matlab中单元数组和结构数组
  4. tomcat端口修改后在Eclipse中启动无效问题解决
  5. android studio 便携式wlan热点 网络名称_速存 | WLAN信号增强器
  6. Error occurred during initialization of VM Could not reserve enough space for object heap
  7. Mirth Connect 第三章 创建通道
  8. 几分钟了解Dreamweaver代码的自动排版以及dw代码的格式化
  9. 深圳居住证微信续签,续期
  10. Vue传递参数不在URL路径上 显示参数的完整方法
  11. 系统平台商家如何快速提升店铺的搜索流量
  12. 还在用Evernote或印象笔记吗?来看看笔记神器Notion吧!
  13. 电脑配置ip--host修改ip地址然后刷新操作-win10
  14. 【读书笔记->推荐系统】02-03 逻辑回归
  15. 小米前端实习电话面试一面
  16. arch模型的思路_ARCH模型是什么?
  17. [源码和文档分享]基于Python实现的论坛帖子情感分析
  18. package.json字段详解
  19. Mybatis-plus 查询指定字段 select
  20. c语言考试的说说带图片致自己,说说带图片致自己励志2020

热门文章

  1. java data 图像 显示_Java(JMF)获取本地摄像头,实时显示图像
  2. mysql 数据类型 真假_【转】MySQL数据类型
  3. linux下查看mysql数据库的字段类型_系统运维|[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型...
  4. pb实现简单计算器的思想_【python实用编程之简单矩阵计算器实现】GUI编程
  5. asp.net oracle 分页,asp.net教程之利用ASP实现Oracle数据记录的分页显示
  6. php7 打开错误提示,PHP7如何开启具体错误显示
  7. vscode插件推荐
  8. mysql三表联合更新_mysql三表连接update
  9. linux应用调用内核函数,Hooking linux内核函数(一):寻找完美解决方案
  10. oc 协议 回调 静态成员_OC问题