【数据挖掘与分析】python网络爬虫学习及实践记录 | part01-爬虫前奏

【数据挖掘与分析】python网络爬虫学习及实践记录 | part01-爬虫前奏_第1张图片


拖拖拉拉终于开了新坑, 三月份就下好的资料一直拖到现在才动手实践,充分说明懒拖本质,再谴责下去没有意义,交代一下学习方式,每日跟视频做笔记,上手实战代码,复盘梳理。论文点及选体量目标合适的小练手项目。争取六月底前,更完这波视频吧。


1.爬虫前奏:

  ·爬虫案例:搜索引擎(爬别人的网页-收录)/伯乐在线(爬别人的文章)/惠惠购物助手(爬取历史价格-进行对比)/数据分析与研究(各行业趋势)/抢票软件

·介绍网络爬虫-模拟请求人类请求网站行为的程序+可自动请求网页+抓取数据+提取有价值信息

·通用/聚焦 爬虫 

   前者搜索引擎(抓取所有网页-形成互联网镜像)|后者特定需求,筛选内容,只抓取需求相关的网页信息

·爬虫技术选择-python

      -PHP 多线程、异步支持不太好,并发处理能力弱

      -Java 本身语言笨重,代码量大,重构成本高

     -C/C++ 学习开发成本高

    -python Scrapy+Scrapy-redis

   *总结:爬虫需要速度效率高、经常修改采集代码、HTTP请求模块和HTML解析模块要求高~

针对本视频准备工具:python3.6+Pycharm 2017 pro(非com版本) +虚拟环境(virtualenv/virtualenvwrapper)

 

2.http协议和chrome抓包工具

  ·http协议和https协议:

   前者 超文本传输协议 发布接收的方法 服务器端口为 80 | 后者是前者的加密版本,加了SSL层,端口为 443 端口

  ·浏览器发http请求的过程

       1.地址URL→,浏览器向HTTP服务器发送HTTP请求(Get/Post两种方法) 

       2.输入地址URL→浏览器发Request请求获取该网址的html文件,服务器吧Response文件对象返回给浏览器

      3.浏览器分析Response中的HTML,发现其中引用了资源文件(images/CSS/JS等),再次发送Request去获取这些资源文件

      4.文件资源下载成功后,网页根据HTML语法结构显示出来。

 ·URL详解

    Uniform Resource Locator -统一资源定位符  结构: 

【数据挖掘与分析】python网络爬虫学习及实践记录 | part01-爬虫前奏_第2张图片

e.g:python_百度搜索的网址就是

 https://www.baidu.com/s?wd=python&rsv_spt=1...(后部分省略)

https是代表协议,www.baidu.com是域名系统DNS绑定了IP,端口省略了,path就是s,wd=python就是查询字符串,关键字为python。

·锚点介绍,百度百科里面,加#

·补充:在浏览器中请求url,会进行编码,除英文字母/数字/部分符号外,其他全部使用‘%+十六进制码值’进行编码。

 常用请求方法-post/get(有八种,仅介绍常用两种)

 +get 获取数据,不对服务器资源产生任何影响

 +post 发送数据(登录)/上传文件等,对服务器资源产生影响

   具体查看爬取对象的-反爬虫机制

·请求头常见参数: 向服务器发送一个请求,数据分三部分(放入url-数据放入body+post请求中-数据放入head中)

     User-Agent:默认为python,浏览器名称,设置为浏览器的值,伪装爬虫 

     Referer:请求是从哪个url过来的

    Cookie:http协议无状态,发送两次请求无法查看两次是否来自同一个,用cookie作为标识,登录才能访问的网站 需要发送cookie信息

 ·常见响应状态码:

【数据挖掘与分析】python网络爬虫学习及实践记录 | part01-爬虫前奏_第3张图片

301举例:jingdong-jd

【数据挖掘与分析】python网络爬虫学习及实践记录 | part01-爬虫前奏_第4张图片【数据挖掘与分析】python网络爬虫学习及实践记录 | part01-爬虫前奏_第5张图片

谷歌抓包工具

老师一波秀,get了几个小操作,这里不展示了。主要是谷歌浏览器,按F12,然后切换标签内的一些东西。


这一堂课就到这里了。明天可以回顾一下,然后再跟下一部分的课。

你可能感兴趣的:(学编程使我头秃【学记汇总】,数据挖掘与分析)