[Python] 1.爬虫-爬虫前奏

版权声明:Hello https://blog.csdn.net/Edward_is_1ncredible/article/details/82802683
I.爬虫概述
1)爬虫的实际例子
  1.搜索引擎
  2.伯乐在线
  3.惠惠购物助手
  4.数据分析研究(数据冰山知乎专栏)
  5.抢票软件
2)什么是网络爬虫
  通俗理解:模拟人请求网站行为的程序,可以自动请求网页并抓取下来,然后使用一定的规则提取有价值的数据
3)通用爬虫和聚焦爬虫
  1.通用爬虫:搜索引擎的重要组成部分,将互联网上的网页下载到本地,形成一个互联网内容的景象备份
  2.聚焦爬虫:面向特定需求的的一种网络爬虫程序,与通用爬虫的区别在于其在实施网页抓取的时候会对内容进行抓取和处理
4)使用工具:
  1.Python3.6
  2.Pycharm professiona
  3.虚拟环境(virtualenv/virtualenvwrapper)

II.http协议和Chrome抓包工具
1)什么是http和https协议:
  http协议:超文本传输协议,是一种发布和接收html页面的方法,服务器的端口号默认为80端口
  https协议:是http的加密版本,在Http下加入了SSL层,服务器的端口号默认为443端口
2)URL详解:
  URL:统一资源定位符,由这几部分组成:
  scheme://host:port/path/?query-string=xxx#anchor
    1.scheme:代表的是访问的协议:http,https以及ftp等
    2.host:主机名,域名:www.google.com
    3.port:端口号:平时在使用时浏览器自动加上了
    4.path:查找路径:www.google.com/abcd/edgh,其中的abcd/edgh就是path
    5.query-string:查询字符串:www.baidu.com/s?wd=python,其中的wd=python就是查询字符串
    6.anchor:锚点,前端用作定位
  在浏览器中请求一个URL,浏览器会对这个URL进行一个编码,除了英文字母,数字和部分符号外,其他的都会使用%和16进制码进行编码
3)常用请求方法:
  在http协议中,定义了八种请求方法,常用的为get和post请求
    1.get请求:只从服务器获取数据,并不会对服务器资源产生任何影响的时候使用get请求
    2.post请求:向服务器发送数据(登录,上传等),对服务器资源产生影响的时候使用post请求
  有些网站和服务器为了做反爬虫机制,也会不按常理出牌,有可能一个应该使用get方法的请求一定要改成post请求,要视情况而定
4)请求头常见参数:
  请求头作用:伪装爬虫
  在http协议中,向服务器发送一个请求,数据分为3部分1.URL 2.body(post请求中) 3.head,常用的head有:
    1.User-Agent:浏览器,请求一个网页的时候,服务器可以通过这个参数得知是哪种浏览器发送的,如果是爬虫发送的,User-Agent为Python,需要将其伪装起来绕过反爬虫
    2.Referer:表明请求是从何URL过来的,如果不是从指定页面过来的,就不做出相关的响应
    3.Cookie:http协议是无效的,同一个人发送两次请求,服务器没法知道是请求是否来自同一人,需要cookie做标识,登录有关的访问用这个
5)常见的状态码:
  1.200:正常请求
  2.301:永久重定向:访问www.jingdong.com会被定位到www.jd.com
  3.302:临时重定向:访问一个需要登录的页面的时候,此时未登录就会跳转到登录页面
  4.400:请求的URL在服务器上找不到
  5.403:服务器拒绝访问,权限不够
  6.500:服务器内部错误,内部出bug了
5)Chrom抓包工具:右键->检查
  1.Elements:代码构成
  2.Console:控制台,JS代码
  3.Source:网站的文件组成
  4.Network:网页请求内容,其中的Preserve log最好勾上,保证请求日志不被删除

猜你喜欢

转载自blog.csdn.net/Edward_is_1ncredible/article/details/82802683