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网络爬虫与信息提取(一)相关推荐

  1. python网络爬虫与信息提取_北京理工大学_Python网络爬虫与信息提取(一)

    学习 北京理工大学 嵩天 课程笔记 课程体系结构: 1.Requests框架:自动爬取HTML页面与自动网络请求提交 2.robots.txt:网络爬虫排除标准 3.BeautifulSoup框架:解 ...

  2. python网络爬虫与信息提取北京理工大学ppt_Python网络爬虫与信息提取

    spContent=理论力学课程组以学生为主体,开展了内容丰富.题材广泛的教学改革与实践研究工作,学生受益量大面广,成效显著.2010年以来编著出版<理论力学>等教材7部9本.承担教研教改 ...

  3. 816计算机综合大纲,北京理工大学816网络空间安全专业基础综合考研大纲

    北京理工大学816网络空间安全专业基础综合考研大纲 816 网络空间安全专业基础综合 一.考查目标 网络空间安全专业基础综合涵盖数据结构.计算机网络等学科专业基础课 程.要求考生系统地掌握上述专业基础 ...

  4. python网络爬虫与信息提取北京理工大学ppt_北京理工大学Python网络爬虫与信息抽取学习笔记10,信息提取...

    Scrapy爬虫产生步骤 1.建立一个Scrarrpy爬虫工程 cmd命令提示符中选择目录 输入 scrapy start project name #工程名不要含中文,否则之后生成爬虫时会报错 生成 ...

  5. python 爬虫解决登录验证问题_python网络爬虫的简单实践——解决无验证模拟登陆问题...

    正文开始以前先唠叨几句,一直以来都是自己在网络各大论坛上向大佬们学习东西,如今因为疫情困在家里写毕设,闲余之时也瞎捣鼓了一下,于是想在这里写一点东西,算是自己学习的一个笔记,再一个就是发现网上的教程质 ...

  6. 【MOOC】Python网络爬虫与信息提取-北京理工大学-part 3

    [第三周]网络爬虫之实战 一.Re(正则表达式)库入门 1.正则表达式的概念 1.1正则表达式是什么 正则表达式是用来简洁表达一组字符串的表达式. 使用正则表达式的优势就是:简洁.一行胜千言 一行就是 ...

  7. 淘宝商品比价定向爬虫-Python网络爬虫与信息提取-北京理工大学嵩天教授

    功能描述 目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格: 理解:淘宝的搜索接口.翻页的处理: 以课程中的搜索书包为例,对应的url如下: (1)起始页: (2)第二页:最后的s=44: (3 ...

  8. python爬虫哪个选择器好用_Python网络爬虫四大选择器用法原理总结

    前几天小编连续写了四篇关于Python选择器的文章,分别用正则表达式.BeautifulSoup.Xpath.CSS选择器分别抓取京东网的商品信息.今天小编来给大家总结一下这四个选择器,让大家更加深刻 ...

  9. python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

最新文章

  1. python cnn代码详解图解_TextCNN 代码详解(附测试数据集以及GitHub 地址)
  2. SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?
  3. 计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)
  4. 弱电工程计算机网络系统基础知识
  5. 力士乐伺服电机编码器调零_力士乐伺服电机编码器故障维修来这里
  6. HDU - 6156 Palindrome Function(数位dp)
  7. ThreadLocal 是什么?有哪些使用场景?——Spring系列学习笔记
  8. django 修改html无变化,Django Pycharm 修改html后立即刷新页面
  9. java 获取apk的包名_java从apk文件里获取包名、版本号
  10. 学java什么书好?推荐几本Java开发的书
  11. 神奇的go语言(基本语法)
  12. Scala Hello 示例
  13. 图解 | 什么是缓存系统“三座大山”?
  14. 掰一掰GitHub上优秀的大数据项目
  15. NFS-heartbeat-drbd模拟NFS高可用
  16. Nginx 的 Echo 模块 —— echo-nginx-module(转)
  17. VC++ (MFC)调用 C#生成DLL的两种方法
  18. 深入解析Windows操作系统(笔记2)
  19. 二进制与十六进制的转换
  20. 开放平台-百度开放平台:百度开放平台

热门文章

  1. SAP ABAP 编程语言里允许哪些特殊字符作为变量名的一部分?
  2. SAP Spartacus 如何使用 cypress 进行端到端自动化测试
  3. Chrome浏览器里的-webkit-focus-ring-color
  4. SAP Spartacus B2cStorefrontModule里提供的默认配置
  5. 使用TestBed测试具有依赖关系的Angular服务
  6. Eclipse里Java项目设置Java编辑器版本的位置
  7. SAP Cloud for Customer里新的Lead UI对Mashup集成的支持原理
  8. SAP CRM enterprise search change pointer注册场景之一 - 产品创建
  9. 一个ABAP重构的实例:CL_CRM_LEAD_CREATE~SELECT_CAMPAIGNS_BY_SQL
  10. SAP ERP和C4C Acount和Contact的双向同步