JavaScript获取本机浏览器UA助力Python爬取糗事百科首页
问题背景:
使用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爬取糗事百科首页相关推荐
- Python爬取糗事百科段子+定时发送QQ邮箱
文章目录 前言 1. 库导入及介绍 2. 获取网页源码 3. 提取需要的信息 4. 优化输出数据 5. 发送邮件 6. 实现定时发送 7. 源码 前言 学习Python爬虫也有段时间了,总想着搞点事做 ...
- Python爬取糗事百科段子
Python爬取糗事百科段子 Python2.7.15 今天我们来爬取糗事百科的段子 一.获取糗事百科的网页源码 首先,打开浏览器,进入糗事百科,复制它的网址. 然后我们翻个页,可以看到,网址变成了这 ...
- 利用Python爬取糗事百科段子信息
文章来源:公众号-智能化IT系统. 爬虫技术目前越来越流行,这里介绍一个爬虫的简单应用. 爬取的内容为糗事百科文字内容中的信息,如图所示: 爬取糗事百科文字35页的信息,通过手动浏览,以下为前四页的网 ...
- 读书笔记(4)——python爬取糗事百科,并存到MySQL中
2019独角兽企业重金招聘Python工程师标准>>> 安装MySQL.使用phpStudy集成工具来安装MySQL服务器,或者可以用USBwebserve进行安装. 打开USBwe ...
- 用Python爬取糗事百科段子,可视化后结果发现
大家好,我是小五???? 生活真是太苦了,需要找点快乐的精神食粮支撑社畜生活,听说糗事百科段子挺多,今天就来看一看! 糗事百科的段子栏目声称:幽默笑话大全__爆笑笑话__笑破你的肚子的搞笑段子,我们用 ...
- python 爬取糗事百科的段子
本篇目标 1.抓取糗事百科热门段子 2.过滤带有图片的段子 3.实现每按一次回车显示一个段子的发布时间,发布人,段子内容,点赞数. 糗事百科是不需要登录的,所以也没必要用到Cookie,另外糗事百科有 ...
- python爬虫练习1:通过python爬取糗事百科的搞笑图片
爬取糗百的图片 最近在研究python,想着自学爬虫获取数据,到时候进行数据分析 在爬取图片的时候有些曲折,但是最终还是被我攻克下来了 话不多说,我们开始 我们要爬取的网站是 糗事百科 的图片 首先, ...
- python爬取糗事百科
本次要爬取的是糗事百科,地址如下:http://www.qiushibaike.com/8hr/page/1 1.思路分析: url地址的规律非常明显,一共只有13页url地址 2.确定数据的位置 数 ...
- python笔记之利用BeautifulSoup爬取糗事百科首页段子
1.到糗事百科查看网页源代码找到规律,发现内容都在class_="content"的div标签内 2.直接上代码: from bs4 import BeautifulSoup #调 ...
最新文章
- 电影点评系统论文java_毕业设计(论文)-基于web的电影点评系统分析与设计.docx...
- 【转载】雨更大了的飞鸽传书
- matlab单元数组和结构,Matlab中单元数组和结构数组
- tomcat端口修改后在Eclipse中启动无效问题解决
- android studio 便携式wlan热点 网络名称_速存 | WLAN信号增强器
- Error occurred during initialization of VM Could not reserve enough space for object heap
- Mirth Connect 第三章 创建通道
- 几分钟了解Dreamweaver代码的自动排版以及dw代码的格式化
- 深圳居住证微信续签,续期
- Vue传递参数不在URL路径上 显示参数的完整方法
- 系统平台商家如何快速提升店铺的搜索流量
- 还在用Evernote或印象笔记吗?来看看笔记神器Notion吧!
- 电脑配置ip--host修改ip地址然后刷新操作-win10
- 【读书笔记->推荐系统】02-03 逻辑回归
- 小米前端实习电话面试一面
- arch模型的思路_ARCH模型是什么?
- [源码和文档分享]基于Python实现的论坛帖子情感分析
- package.json字段详解
- Mybatis-plus 查询指定字段 select
- c语言考试的说说带图片致自己,说说带图片致自己励志2020
热门文章
- java data 图像 显示_Java(JMF)获取本地摄像头,实时显示图像
- mysql 数据类型 真假_【转】MySQL数据类型
- linux下查看mysql数据库的字段类型_系统运维|[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型...
- pb实现简单计算器的思想_【python实用编程之简单矩阵计算器实现】GUI编程
- asp.net oracle 分页,asp.net教程之利用ASP实现Oracle数据记录的分页显示
- php7 打开错误提示,PHP7如何开启具体错误显示
- vscode插件推荐
- mysql三表联合更新_mysql三表连接update
- linux应用调用内核函数,Hooking linux内核函数(一):寻找完美解决方案
- oc 协议 回调 静态成员_OC问题