python网络爬虫与信息提取北京理工大学_Python网络爬虫与信息提取(一)
Reference:
第一周 网络爬虫之规则
单元1:Requests库入门
1-1 Requests库的安装
1-2 Requests库的get()方法
1-3 爬取网页的通用代码框架
1-4 HTTP协议与Requests库方法
注意:put与post的区别
1-5 Requests库主要方法解析
Requests库的7个主要方法
(一). requests库的request方法是所有方法的基础方法,它有三个参数,分别是:
method,url和控制访问参数----> requests.request(method,url,**kwargs)
method表示请求方式,对应get/put/post等7种
url指拟获取页面的url链接
**kwargs控制访问参数,共13个,均为可选项
(1)params
(2)data
(3)json
(4)headers
(5)cookies
(6)auth
(7)files
(8)timeout
(9)proxies
(10)allow_redirects
(11)stream
(12)verify
(13)cert单元2:网络爬虫的“盗亦有道”
2-1 网络爬虫引发的问题
网络爬虫的尺寸
网络爬虫的“骚扰”(对服务器性能的骚扰)
服务器默认是按照人数来约定它的访问能力,但当有爬虫加入的时候,服务器可能很难提供那么高的性能。
网络爬虫的法律风险(内容层面)
服务器上的数据有产权归属,网络爬虫获取数据后牟利将带来法律风险。
网络爬虫的泄露隐私(个人隐私泄露)
网络爬虫可能具备突破简单访问控制的能力,获得被保护数据从而泄露个人隐私。
对于一般的服务器来说,可以用两种方式限制网络爬虫:
(1)如果网站的所有者具有一定的技术能力,可以通过来源审查来限制网络爬虫。
来源审查:判断User-Agent进行限制
检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问。
(2)发布公告:Robots协议
告知所有爬虫 网站的爬取策略,要求爬虫遵守。
2-2 Robots协议=Robots Exclusion Standard 网络爬虫排除标准
作用:网站告知网络爬虫哪些页面可以抓取,哪些不行。
形式:在网站根目录下的robots.txt文件。通过基本语法告知网络爬虫,该网站内部资源可以被访问的权限。
规定:robots协议规定,如果一个网站不提供robots.txt文件,则说明这个网站允许所有爬虫无限制的爬取其内容。
Robots协议基本语法:
User-agent:*
Disallow:/
注释: * 代表所有,/ 代表根目录
案例:京东的Robots协议
https://www.jd.com/robots.txt
http://www.baidu.com/robots.txt 百度
http://news.sina.com.cn/robots.txt 新浪新闻
http://www.qq.com/robots.txt qq
http://news.qq.com.cn/robots.txt qq新闻
http://www.moe.edu.cn/robots.txt(无robots协议) 我国教育部的网站
2-3 Robots协议的遵守方式
robots协议的使用
网络爬虫:自动或人工识别robots.txt,再进行内容爬取。
约束性:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。
TIPS.类人行为可以不参考Robots协议
单元3:Requests库网络爬虫实战(5个实例)
3-1 实例1:京东商品页面的爬取
STEP1.打开京东页面,选取一款商品。比如:https://item.jd.com/4939144.html
通过写程序,获得该商品的相关信息。
STEP2. 全代码
3-2 实例2:亚马逊商品页面的爬取
对于一些保护的比较好的网站,通过模拟浏览器,发起请求。
3-3 实例3:百度/360搜索关键词提交
搜索引擎关键词提交接口:
百度的关键词接口: http://www.baidu.com/s?wd=keyword
360的关键词接口: http://www.so.com/s?q=keyword
在这两个接口中,只要我们替换keyword就可以向搜索引擎提交关键词,构造这样的url就可以实现关键词的提取。
3-4 实例4:网络图片的爬取和存储
网络图片的爬取
网络图片链接的格式:
http://www.example.com/picture.jpg
国家地理:http://www.nationalgeographic.com.cn/
选择一个图片Web页面:http://www.nationalgeographic.com.cn/photography/photo_of_the_day/4082.html 右键图片属性
http://image.nationalgeographic.com.cn/2017/0509/20170509021454807.jpg
3-5 实例5:IP地址归属地的自动查询
IP138网站 http://www.ip138.com/
http://m.ip138.com/ip.asp?ip=ipaddress 例如:202.204.80.112 北京理工大学网站
python网络爬虫与信息提取北京理工大学_Python网络爬虫与信息提取(一)相关推荐
- python网络爬虫与信息提取_北京理工大学_Python网络爬虫与信息提取(一)
学习 北京理工大学 嵩天 课程笔记 课程体系结构: 1.Requests框架:自动爬取HTML页面与自动网络请求提交 2.robots.txt:网络爬虫排除标准 3.BeautifulSoup框架:解 ...
- python网络爬虫与信息提取北京理工大学ppt_Python网络爬虫与信息提取
spContent=理论力学课程组以学生为主体,开展了内容丰富.题材广泛的教学改革与实践研究工作,学生受益量大面广,成效显著.2010年以来编著出版<理论力学>等教材7部9本.承担教研教改 ...
- 816计算机综合大纲,北京理工大学816网络空间安全专业基础综合考研大纲
北京理工大学816网络空间安全专业基础综合考研大纲 816 网络空间安全专业基础综合 一.考查目标 网络空间安全专业基础综合涵盖数据结构.计算机网络等学科专业基础课 程.要求考生系统地掌握上述专业基础 ...
- python网络爬虫与信息提取北京理工大学ppt_北京理工大学Python网络爬虫与信息抽取学习笔记10,信息提取...
Scrapy爬虫产生步骤 1.建立一个Scrarrpy爬虫工程 cmd命令提示符中选择目录 输入 scrapy start project name #工程名不要含中文,否则之后生成爬虫时会报错 生成 ...
- python 爬虫解决登录验证问题_python网络爬虫的简单实践——解决无验证模拟登陆问题...
正文开始以前先唠叨几句,一直以来都是自己在网络各大论坛上向大佬们学习东西,如今因为疫情困在家里写毕设,闲余之时也瞎捣鼓了一下,于是想在这里写一点东西,算是自己学习的一个笔记,再一个就是发现网上的教程质 ...
- 【MOOC】Python网络爬虫与信息提取-北京理工大学-part 3
[第三周]网络爬虫之实战 一.Re(正则表达式)库入门 1.正则表达式的概念 1.1正则表达式是什么 正则表达式是用来简洁表达一组字符串的表达式. 使用正则表达式的优势就是:简洁.一行胜千言 一行就是 ...
- 淘宝商品比价定向爬虫-Python网络爬虫与信息提取-北京理工大学嵩天教授
功能描述 目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格: 理解:淘宝的搜索接口.翻页的处理: 以课程中的搜索书包为例,对应的url如下: (1)起始页: (2)第二页:最后的s=44: (3 ...
- python爬虫哪个选择器好用_Python网络爬虫四大选择器用法原理总结
前几天小编连续写了四篇关于Python选择器的文章,分别用正则表达式.BeautifulSoup.Xpath.CSS选择器分别抓取京东网的商品信息.今天小编来给大家总结一下这四个选择器,让大家更加深刻 ...
- python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐
#爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...
最新文章
- python cnn代码详解图解_TextCNN 代码详解(附测试数据集以及GitHub 地址)
- SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?
- 计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)
- 弱电工程计算机网络系统基础知识
- 力士乐伺服电机编码器调零_力士乐伺服电机编码器故障维修来这里
- HDU - 6156 Palindrome Function(数位dp)
- ThreadLocal 是什么?有哪些使用场景?——Spring系列学习笔记
- django 修改html无变化,Django Pycharm 修改html后立即刷新页面
- java 获取apk的包名_java从apk文件里获取包名、版本号
- 学java什么书好?推荐几本Java开发的书
- 神奇的go语言(基本语法)
- Scala Hello 示例
- 图解 | 什么是缓存系统“三座大山”?
- 掰一掰GitHub上优秀的大数据项目
- NFS-heartbeat-drbd模拟NFS高可用
- Nginx 的 Echo 模块 —— echo-nginx-module(转)
- VC++ (MFC)调用 C#生成DLL的两种方法
- 深入解析Windows操作系统(笔记2)
- 二进制与十六进制的转换
- 开放平台-百度开放平台:百度开放平台
热门文章
- SAP ABAP 编程语言里允许哪些特殊字符作为变量名的一部分?
- SAP Spartacus 如何使用 cypress 进行端到端自动化测试
- Chrome浏览器里的-webkit-focus-ring-color
- SAP Spartacus B2cStorefrontModule里提供的默认配置
- 使用TestBed测试具有依赖关系的Angular服务
- Eclipse里Java项目设置Java编辑器版本的位置
- SAP Cloud for Customer里新的Lead UI对Mashup集成的支持原理
- SAP CRM enterprise search change pointer注册场景之一 - 产品创建
- 一个ABAP重构的实例:CL_CRM_LEAD_CREATE~SELECT_CAMPAIGNS_BY_SQL
- SAP ERP和C4C Acount和Contact的双向同步