Py学习  »  Python

Python使用标准库urllib模拟浏览器爬取网页内容

Python小屋 • 5 年前 • 342 次点击  

爬取网页内容的第一步是分析目标网站源代码结构,确定自己要爬取的内容在哪里,这要求对HTML代码有一定了解,对于某些网站内容的爬取还需要具有一定的Javascript基础。但是,如果目标网站设置了反爬机制,就需要一些特殊的手段了,本文介绍一种使用爬虫程序模拟浏览器来对抗反爬机制的简单用法。

以下面的网页为例,使用浏览器可以正常浏览,也可以正常查看网页源代码。


然而,使用Python去读取网页源代码时却显示403错误,禁止访问。

使用urllib.request.urlopen()打开一个URL时,服务器端只会收到一个单纯的对于该页面访问的请求,但是服务器并不知道发送这个请求使用的浏览器、操作系统、硬件平台等信息,而缺失这些信息的请求往往都是非正常的访问,很可能是爬虫,然后拒绝访问,返回403错误。

对抗这种反爬机制比较简单的方式是,添加UserAgent信息,让程序假装自己是浏览器。



--------图书大优惠--------

1)《Python程序设计(第2版)》(2018年8月第8次印刷)

清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.33.24a52226InbLT2&id=534581929248&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

2)《Python可以这样学》(2018年7月第6次印刷)(本书已发行繁体版)

原价69元,特价48.3元,每人限购5本,清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.27.24a52226InbLT2&id=544817105410&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

3)《Python程序设计基础(第2版)(2018年8月第4次印刷)

清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.35.24a52226InbLT2&id=565581275846&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

4)《中学生可以这样学Python》2018年5月第2次印刷)

清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.37.24a52226InbLT2&id=560808221053&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

5)《Python程序设计开发宝典》(2018年2月第3次印刷)

原价69元,特价48.3元,每人限购5本 ,清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.71.24a52226InbLT2&id=556093887133&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

6)《玩转Python轻松过二级》(2018年7月第3次印刷)

原价49元,特价34.3元,每人限购5本,清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.31.24a52226InbLT2&id=569250004069&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

7)《Python程序设计基础与应用》(2018年9月上架)

董付国老师6本Python系列图书阅读指南

董付国老师6本Python系列教材被北大、复旦等近百所高校选作教材

热烈庆祝《Python可以这样学》在台湾发行繁体版


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


----------相关阅读----------

教学课件

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语言的课程群建设探讨与实践

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

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

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

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


系列题库分享

1000道Python题库系列分享一(17道)

1000道Python题库系列分享二(48道)

1000道Python题库系列分享三(30道)

1000道Python题库系列分享四(40道)

1000道Python题库系列分享五(40道)

1000道Python题库系列分享六(40道)

1000道Python题库系列分享七(30道)

1000道Python题库系列分享八(29道)

1000道Python题库系列分享九(31道)

1000道Python题库系列分享十(37道)

1000道Python题库系列分享十一(9道)

1000道Python题库系列分享十二(9道编程题)

1000道Python题库系列分享13(22道填空题)

1000道Python题库系列分享14(1道代码阅读题)


相关阅读

Python爬虫基础:常用HTML标签和Javascript入门

Python+selenium+PhantomJS获取百度搜索结果真实链接地址

Python 3.6模拟输入并爬取百度前10页密切相关链接

手把手教你使用Python+scrapy爬取山东各城市天气预报

Python爬虫系列:使用selenium+Edge查询指定城市天气情况

Python爬虫系列:判断目标网页编码的几种方法

BeautifulSoup解析库select方法实例——获取企业信息

Python批量爬取微信公众号文章中的图片

Python裸奔也疯狂:批量爬取中国工程院院士信息

Python爬虫扩展库scrapy选择器用法入门(一)

Python使用Scrapy爬虫框架爬取天涯社区小说“大宗师”全文

Python不使用scrapy框架而编写的网页爬虫程序

Python爬虫扩展库BeautifulSoup4用法精要



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/2bQk0gd4wM
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/23251
 
342 次点击