
Python爬虫-2
[TOC]
Urllib模块简介与基础使用
Urllib模块是一个可以用于编写爬虫的非常常用的模块, 接下来我们将为大家介绍Urllib基础使用方面的知识。
打开一个网页对象
在urlib
包中
python
1 | ## 爬取网页 |
将一个网页信息爬虫到硬盘
urllib.request.urlretrieve("网页url",filename="文件路径名")
python
1 | ## 将网页直下载到本地 |
浏览器伪装
python
1 | data3 = urllib.request.urlopen("https://wwww.qiushibaike.com/").read().decode("utf-8","ignore") |
报错
shell
1 | Traceback (most recent call last): |
对方识别了爬虫,不是浏览器就拒绝访问
打开开发者模式,发现
shell
1 | 请求网址:https://www.qiushibaike.com/ |
User-Agent
字段中字段表明是不是浏览器
创建 operner
对象,可以添加高级设置。
创建元组属性。
python
1 | UA = ("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firef") |
加入元组属性即可,伪装参数,安装全局opener
python
1 | urllib.request.install_opener(opener) |
实际案例:
python
1 | import urllib.request |
用户代理池
过多次数单一浏览器访问会被拒绝,用多个浏览器标识构成集合,作为一个访问池
python
1 | import random |
shell
1 | 当前使用的UAMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.9 Safari/537.36 |
批量爬取糗事百科段子数据
目标网站:https://www.qiushibaike.com/
目标数据:热门段子
要求:自动翻页
python
1 | import urllib.request |
爬取慕课网页课件中的图片
课程地址:http://mooc1.chaoxing.com/course/200903990.html
课程名称:普通地质学
分析链接结构
课程列表结构分析
章节列表:
shell
1 | 申报书:http://mooc1.chaoxing.com/nodedetailcontroller/visitnodedetail?courseId=200903990&knowledgeId=167036766 |
得出规律,章节类表统一链接
shell
1 | http://mooc1.chaoxing.com/nodedetailcontroller/visitnodedetail?courseId=200903990&knowledgeId=[num] |
名称 | knowledgeId |
---|---|
课程思政示范课程申报书 |
1部分 |
申报书 | 167036766 |
课程概要 |
2部分 |
教学大纲 | 116724219 |
课程简介 | 116724220 |
课程教案 | 167037929 |
教学课件 |
3部分 |
绪论 |
116724181 |
第一章 | 地球的概述 |
第一节 地球形状大小及表面特征 | 116724221 |
第二节 地球的物理性质 | 116724222 |
第三节 地球的圈层结构 | 116724223 |
第四节 地质作用概述 | 116724224 |
第二章 矿物 |
116724188 |
第三章 岩浆作用与岩浆岩 |
116724189 |
第四章 变质作用与变质岩 |
116724200 |
第五章 外动力地质作用与沉积岩 |
116724194 |
第六章 地质年代 |
116724201 |
第七章 构造运动与地质构造 |
116724208 |
第八章 板块构造学说 |
116724195 |
第九章 风化作用 |
116724191 |
第十章 风的地质作用 |
116724179 |
第十一章 河流的地质作用 |
116724180 |
第十二章 地下水的地质作用 |
116724178 |
第十三章 冰川的地质作用 |
116724202 |
第十四章 湖泊及沼泽的地质作用 |
116724209 |
第十五章 海水的地质作用 |
116724193 |
第十七章 块体运动 |
116724192 |
课件结构分析
例如第二章矿物
每一个页面内图片课件链接都来自一个窗口,打开源代码,截取部分,找到规律。
html
1 | <div class="imglook" id="img"> |
html
1 | <div id="img" class="imglook"><img/></div> |
如果直接爬取文件内容,无法读取。因为后台采用ajax异步传输方式将pdf传输到前台浏览器。
python
1 | import requests |