zoukankan      html  css  js  c++  java
  • 理解爬虫原理

    本次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2881

    一. 简单说明爬虫原理

    从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用;

    二. 理解爬虫开发过程

    1).简要说明浏览器工作原理:

    1、发起请求

    使用http库向目标站点发起请求,即发送一个Request

    Request包含:请求头、请求体等 

    Request模块缺陷:不能执行JS 和CSS 代码

    2、获取响应内容

    如果服务器能正常响应,则会得到一个Response

    Response包含:html,json,图片,视频等

    3、解析内容

    解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等

    解析json数据:json模块

    解析二进制数据:以wb的方式写入文件

    4、保存数据

    数据库(MySQL,Mongdb、Redis)

    文件

    2).使用 requests 库抓取网站数据;

    1)安装requests和beautifulsoups4

    2)

    requests.get(url) 获取校园新闻首页html代码

    url="http://www.runoob.com/python/python-functions.html"
    res=requests.get(url)
    type(res)
    res.encoding='utf-8'
    res.text
    

    截图效果:

    3).了解网页

    写一个简单的html文件,包含多个标签,类,id

    利用学校官网随机的一篇新闻为例,获取以下信息

    url="http://www.runoob.com/python/python-functions.html"

    4).使用 Beautiful Soup 解析网页;

    通过BeautifulSoup(html_sample,'html.parser')把上述html文件解析成DOM Tree

    select(选择器)定位数据

    找出含有特定标签的html元素

    找出含有特定类名的html元素

    找出含有特定id名的html元素

     

    3.提取一篇校园新闻的标题、发布时间、发布单位、作者、点击次数、内容等信息

    利用学校官网随机的一篇新闻为例,获取以下信息

    url="http://www.runoob.com/python/python-functions.html"

    要求发布时间为datetime类型,点击次数为数值型,其它是字符串类型。

    截图为广州商学院官网某篇新闻:

    获取正文:

     获取时间,作者等信息

    将发布时间转为datetime类型

     

    获取点击次数:

     

  • 相关阅读:
    概率论
    Python3爬虫爬取淘宝商品数据
    利用Python数据分析基础
    Linux安装MATLAB2016a
    python3爬取高清壁纸(2)
    python3爬取高清壁纸(1)
    Git使用基础
    Python3基础
    正则表达式的使用基础
    Nginx配置多域名代理
  • 原文地址:https://www.cnblogs.com/yuanzhenpeng/p/10622932.html
Copyright © 2011-2022 走看看