前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript获取本机浏览器UA助力Python爬取糗事百科首页

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

作者头像
Python小屋屋主
发布2018-12-24 15:47:37
9270
发布2018-12-24 15:47:37
举报
文章被收录于专栏:Python小屋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,然后编写下面的代码爬取糗事百科首页上的段子文本。因为糗事百科首页更新很快,这里就不贴爬取结果了,大家可以自己运行试一试。爬取页面上的图片也比较简单,公众号里以前推送过很多类似的案例,就不再重复了。相关文章可以按照后面的温馨提示进入历史文章列表进行查找。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档