爬虫-基础知识
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
网络爬虫
定义:网络蜘蛛、网络机器人,抓取网络数据的程序
总结:用Python程序去模仿人去访问网站,模仿的越像越好
目的:通过有效的大量数据分析市场走势、决策
企业获取数据的方式
Python做爬虫优势
请求模块、解析模块丰富成熟;强大的Scrapy框架
1 | PHP :对多线程、异步支持不好 |
爬虫分类
- 通用网络爬虫(搜索引擎引用,需要遵守robots协议)
https://www.taobao.com/robots.txt
搜索引擎如何获取一个新网站的URL?- 网站主动向搜索引擎提供(百度站长平台)
- 和DNS服务商(万网)合作,快速收录新网站
- 聚焦网络爬虫
自己写的爬虫程序, 面向需求的爬虫
数据爬取步骤
- 确定需要爬取的URL
- 通过HTTP/HTTPS协议发请求获取响应页面
- 提取HTML页面有用的数据 1. 所需要的数据,保存 2. 页面中有新的URL,继续第2步
Anaconda 和 Spyder
Anaconda是Python开源的发行版本
Spyder是Python的集成开发环境(iPython的一种集成环境)
- Spyder常用快捷键
- 注释/取消注释 :Ctrl + 1
- 保存 :Ctrl + s
- 运行程序 :F5
- 自动补全 :Tab
conda 和 pip 区别
- conda可以很好的解决依赖关系
Google插件
- JSONView
- XPath:爬虫
- Proxy-SwitchyOmega:浏览器代理
WEB知识
HTTP和HTTPS
1. HTTP : 80
2. HTTPS: 443, HTTP的升级版,加了一个安全套接层
GET和POST
1. GET :查询参数会在URL地址上显示出来
2. POST:查询参数和提交的数据是隐藏在Form表单里,不会在URL地址上显示
URL 统一资源定位符
[https]:// [item.jd.com] [/14017559909.html][#detail]
协议 域名/IP地址 访问资源的路径 锚点
User-Agent
记录用户的浏览器、操作系统等,为了让用户获取更好的HTML页面效果
1 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 |
浏览器的标记
浏览器 | 标记 |
---|---|
Mozilla Firefox | Gecko内核 |
IE | Trident(自己的内核) |
Linux | KHTML(like Gecko) |
Safari | Webkit(like KHTML) |
Chrome(like Webkit) | |
其他浏览器 | 都是模仿(IE/Chrome) |
Cookie
Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)
Json
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
1 | { |