zoukankan      html  css  js  c++  java
  • 爬虫原理和网页构造

    • 爬虫原理
      • 网络连接:计算机一次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库更快。
  • 相关阅读:
    Linux下防火墙的相关命令
    java中的异常总结
    Java中的==和equals的区别
    一个简单的前后端分离项目,适合新手练手
    入住博客园鸭
    centos7 安装 Python PIL模块
    Linux 装机错误解决
    Python 爬取煎蛋网妹子图片代码
    Python 简易聊天机器人
    Python员工信息表练习
  • 原文地址:https://www.cnblogs.com/xiaowa/p/10386335.html
Copyright © 2011-2022 走看看