zoukankan      html  css  js  c++  java
  • 13、数据提取2:beautifulsoup

    beautiful soup 的简单介绍

    目的:使用beautifulsoup提取爬下来的数据
    通常多为网页数据,html文本
    在这里做个简单的介绍

    <></>   这种形式的叫做双标签
    <p></p>  p标签, p 标签的名字 ,其他同理可推
    <p class = "one"> ...</p>   class 叫做属性, “one” 叫做属性值, ... 内容
    

    1 将爬取的内容抓换成soup文档

    # 使用豆瓣电影为例
    import requests
    from fake_useragent import UserAgent
    from bs4 import BeatuifulSoup
    
    ua = UserAgent()
    headers = {"User-Agent":ua.chrome}
    url = "https://movie.douban.com/top250?start=0"
    response = requests.get(url , headers = headers)
    
    soup = BeautifulSoup(response.content.decode(),"html.parser")  # 至关重要,转换成soup文档
    

    2 查找标签

    # 接上
    soup.a   # 返回找的第一个a标签内容
    soup.find_all("a")  # 返回所有 a 标签的列表, 返回为python列表,操作与列表相同
    

    3 查找属性

    soup.a["class"]  # 返回第一个a标签,class属性对应的值
    soup.a["href"]  # 返回第一个a标签,href属性对应的值
    

    4 查找内容

    soup.a.string  # 返回第一个a标签的内容
    

    以上几种方法只有选取的值确定唯一时才可以使用,如果返回值是一个列表,循环遍历使用。


    重要方法

    1 find_all() 返回值是一个列表

    find_all( name , attrs , recursive , string , **kwargs )
    这其中只需要关注两个参数: name , **kwargs
    name : 标签的名字

    soup.find_all("div" , class_ = "item"})  # 返回一个列表,长度25
    

    2 select() 返回值是一个列表

    参数是一个字符串,形式为css选择器

    soup.select("a[href]")  # 返回一个列表
    
  • 相关阅读:
    使用 jQuery Uploader 显示文件上传进度
    Uploadify插件上传图片并且插入到FCKeditor
    Flex与.NET互操作(一):基于Socket的网络连接
    JQuery上传插件Uploadify使用详解
    让自定义登录程序像 Membership 一样
    Stream 和 Byte[] 互操作
    AspNet控件开发(1)入门介绍
    Visual Studio 2008 集成SP1补丁
    asp.net 解决下载文件–中文名乱码问题
    不错的一个JS框架
  • 原文地址:https://www.cnblogs.com/hefany/p/14232282.html
Copyright © 2011-2022 走看看