• 爬虫原理和网页构造


    • 爬虫原理
      • 网络连接:计算机一次Request请求和服务器端的Response回应,即实现了网络连接。
      • 爬虫原理:(1)模拟计算机对服务器发起的Request请求;(2)接收服务器端的Response内容并解析,提取所需的信息。有多页面爬虫和跨页面爬虫。
    • 网页构造:安装和使用和chrome浏览器;
    • 安装需要的第三方库:Requests,BeautifulSoup,Lxml;
      • Requests库:让HTTP服务人类;作用就是请求网站获取网页数据的;
        • 有时爬虫需要加入请求头来伪装成浏览器,以便更好地抓取数据;
        • 步骤:在chrome浏览器中打开开发者工具,点击network,按f5刷新网页,点击name里的任意文件,找到User-Agent进行复制;
      • BeautifulSoup库:用来解析Requests库请求的网页,并把网页源代码解析为Soup文档,以便过滤提取数据。
        • BeautifulSoup库除了支持python标准库中的HTML解析器外,还支持一些第三方的解析器;BeautifulSoup库解析器有:python标准库,lxml HTML解析器,Lxml XML解析器,html5lib解析器;
        • BeautifulSoup库在python标准库中的使用方法:BeautifulSoup(makeup,"html.parser")
        • BeautifulSoup库在lxml HTML解析器中的使用方法:BeautifulSoup(makeup,"lxml") (官方推荐,速度快,文档容错能力强)
        • 解析得到的Soup文档可以使用find()和find_all()方法及selector()方法定位需要的元素;
          • selector()方法:soup.selector(div.item > a >h1) 括号内容通过chrome复制得到;
          • 注意:li:nth-child(1)在python中运行会报错,需改为li:nth-of-type(1);
          • 打印数据时,若提取的信息包含标签,可以用get_text()方法获得中间的文字信息;
      • Lxml库:基于libxml2这一个XML解析库的python封装。该模块使用c语言编写,解析速度比BeautifulSoup库更快。
  • 相关阅读:
    图解排序算法(三)之堆排序
    博客园添加看板娘
    php设计模式
    PHP二维数组排序 array_multisort
    php-jwt-token
    c++实现冒泡排序
    常见的排序 转
    Mac VMware Fusion CentOS7配置静态IP
    vmwar快照和克隆区别
    springboot maven打包插件
  • 原文地址:https://www.cnblogs.com/xiaowa/p/10386335.html
Copyright © 2020-2023  润新知