精华内容
下载资源
问答
  • PythonBS4模块

    千次阅读 2018-10-23 18:31:13
    Pythonbs4模块 bs4 模块的 BeautifulSoup 可以用来爬取html页面的内容,配合requests库可以用于简单的爬虫。 1. 获取标签内容 # 1. 获取标签内容 from bs4 import BeautifulSoup # 构造对象 soup = ...

    Python中的bs4模块

    bs4 模块的 BeautifulSoup 可以用来爬取html页面的内容,配合requests库可以用于简单的爬虫。

    1. 获取标签内容

    # 1. 获取标签内容
    from bs4 import  BeautifulSoup
    
    # 构造对象
    soup = BeautifulSoup(open('villa.html'), 'html.parser')
    # 获取标签, 默认获取找到的第一个符合的内容
    print(soup.title)
    print(type(soup.title))
    print(soup.p)
    

    在这里插入图片描述

    2. 获取标签的属性

    from bs4 import  BeautifulSoup
    
    # 构造对象
    soup = BeautifulSoup(open('villa.html'), 'html.parser')
    # #获取标签的属性
    print(soup.p.attrs)
    # 获取标签指定属性的内容
    print(soup.p['id'])
    print(soup.p['class'])
    print(soup.p['style'])
    # 对属性进行修改
    soup.p['id'] = 'modifyid'
    print(soup.p)
    print(type(soup.p))
    

    在这里插入图片描述

    3. 获取标签的文本内容

    #获取标签的文本内容
    from bs4 import  BeautifulSoup
    
    # 构造对象
    soup = BeautifulSoup(open('villa.html'), 'html.parser')
    print(dir(soup.title))
    print(soup.title.text)
    print(soup.title.string)
    print(soup.title.name)
    print(soup.head.title.string)
    

    在这里插入图片描述

    4. 操作子节点

    # 构造对象
    soup = BeautifulSoup(open('villa.html'), 'html.parser')
    print(soup.head.contents)
    print(soup.head.children)
    for el in soup.head.children:
        print('--->', el)
    

    在这里插入图片描述

    5. 面向对象的匹配

    # # 查找指定的标签内容(指定的标签)
    res1 = soup.find_all('p')
    print(res1)
    
    # # 查找指定的标签内容(指定的标签)--与正则的使用
    res2 = soup.find_all(re.compile(r'd+'))
    print(res2)
    
    # # 对于正则表达式进行编译, 提高查找速率;
    pattern = r'd.+'
    pattern = re.compile(pattern)
    print(re.findall(pattern, 'dog hello d'))
    
    
    
    # 构造对象
    soup = BeautifulSoup(open('villa.html'), 'html.parser')
    
    # 详细查找标签
    print(soup.find_all('p', id='test2'))
    print(soup.find_all('p', id=re.compile(r'test\d{1}')))
    print(soup.find_all('p', class_="class1"))
    print(soup.find_all('p', class_=re.compile(r'class\d{1}')))
    # 查找多个标签
    print(soup.find_all(['p', 'div']))
    print(soup.find_all([re.compile('^d'), re.compile('p')]))
    
    
    # 内容的匹配
    print(soup.find_all(text='文章标题'))
    print(soup.find_all(text=re.compile('标题')))
    print(soup.find_all(text=[re.compile('标题'), 'Title']))
    

    在这里插入图片描述

    6.CSS匹配

    
    import re
    from bs4 import  BeautifulSoup
    # 构造对象
    soup = BeautifulSoup(open('villa.html'), 'html.parser')
    # CSS常见选择器: 标签选择器(div), 类选择器(.class1), id选择器(#idname), 属性选择器(p[type="text"])
    # 标签选择器(div)
    res1 = soup.select("p")
    print(res1)
    # 类选择器(.class1)
    res2 = soup.select(".class2")
    print(res2)
    # id选择器(#idname)
    res3 = soup.select("#test1")
    print(res3)
    #  属性选择器(p[type="text"]
    print(soup.select("p[id='test1']"))
    print(soup.select("p['class']"))
    

    在这里插入图片描述

    展开全文
  • linux dd指令用法参数bs,count

    千次阅读 2015-04-14 12:21:57
    bs的命令使用形式是:bs=xxx count=mmm 含义:bs=600 count=1,备份第一块为600个字节的区域.(默认大小为512个字节)  bs=512 count=2,备份前2块总共为1024个字节的区域 dd的输出是: x+y records in m+n ...

    bs的命令使用形式是:bs=xxx count=mmm

    含义:bs=600 count=1,备份第一块为600个字节的区域.(默认大小为512个字节)

               bs=512 count=2,备份前2块总共为1024个字节的区域

    dd的输出是:

    x+y records in

    m+n records out

    其中 x和m的含义是 x和m个完整的块(也就是你用bs指定的块大小)被读入和写出。

    其中y和n的含义是 y和n个不完整的块(部分块)被读入和写出。

    最常见产生的不完整块的读入是由于碰到了读入的文件尾,比如你有一个文件a.log的大小是10个字节,你用下面的命令就会出现1+1的情况,因为第二个块不够6个字节,只有4字节。

    dd if=a.log of=b.log bs=6 count=21+1 records in1+1 records out常见的出现0+0的情况是由于被读的文件是空文件(0字节),

    比如下面的命令dd if=/dev/null of=b.log bs=6 count=20+0 records in0+0 records out

    展开全文
  • dd命令用法参数bs,count

    千次阅读 2015-01-23 11:27:17
    其中 x和m的含义是 x和m个完整的块(也就是你用bs指定的块大小)被读入和写出。 其中y和n的含义是 y和n个不完整的块(部分块)被读入和写出。 最常见产生的不完整块的读入是由于碰到了读入的文件尾,比如你有...
    dd的输出是:
    x+y records in
    m+n records out

    其中 x和m的含义是 x和m个完整的块(也就是你用bs指定的块大小)被读入和写出。

    其中y和n的含义是 y和n个不完整的块(部分块)被读入和写出。

    最常见产生的不完整块的读入是由于碰到了读入的文件尾,比如你有一个文件a.log的大小是10个字节,

    你用下面的命令就会出现1+1的情况,因为第二个块不够6个字节,只有4字节。


    dd if=a.log of=b.log bs=6 count=2

    1+1 records in
    1+1 records out

    常见的出现0+0的情况是由于被读的文件是空文件(0字节),比如下面的命令

    dd if=/dev/null of=b.log bs=6 count=2

    0+0 records in
    0+0 records out
    展开全文
  • 简单来说,BeautifulSoup就是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页提取数据,官方的解释如下: BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一...

    Beautifulsoup简介

    简单来说,BeautifulSoup就是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据,官方的解释如下:

    BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时你仅仅需要说明一下原始编码方式就可以了。BeautifulSoup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

    所以说,利用它我们可以省去很多繁琐的提取工作,提高解析效率。

    • bs:beautifulsoup。
    • 历史坑:beautifulsoup 只支持py2, beautifulsoup4 支持py3
    • 安装 pip install beautifulsoup4
    • 命名坑:python包我们导入的是包文件夹名字,包有别名beautifulsoup4。 第三方包python解释器/Lib/site-packages/。
    from bs4 import BeautifulSoup
    html="""
    <html>
        <body>
            <a id="aaa" href='http://www.baidu.com' name='aaa'
            class="aaa">百度一下</ a>
            < a href='http://www.baidu.com'>百度一下2</ a>
            <h1>大家好</h1>
        </body>
    </html>
    """
    

    实例化。参数1被解析html源代码。参数2解析器。 1)内置的html包的parser.py 2)c语言写的被封装为python调用的lxml包。
    html.parser内置包负责解析html源代码,把数据放到bs对象中,bs对象再取数据。

    使用方法
    • 代码为:
    bs=BeautifulSoup(html,'html.parser')
    # 取数据
    print(bs.a)                   #取标签
    print(bs.a['href'])           #取标签属性值
    print(bs.a.string)            #取标签内容
    print(bs.body.children)
    print("-----------------------------------")
    
    print(bs.find('a'))
    print(bs.find_all)             #如果要查询所有的标签,则需要使用find()和find_all()
    print(bs.find_all('a',limit=1)[0])        #limit 是取前x项的意思,find()实际等于limit=1的情况,只是find_all()返回的是列表
    print(bs.find_all(lambda tag: len(tag.attrs) == 2))      #BS4允许我们把特定函数类型当做findAll函数的参数,唯一的限制是这些函数必须把一个标签当做参数且返回结果为bool类型
    print(bs.find_all('a', {"class" : "aaa"}))      #可以通过这个attrs去更加详细地过滤标签,限制了标签为a,且属性中的class = sister
    print("------------------------------------")
    print(bs.title)
    print(bs.a.string)               #.string 即可获得标签内部的文字
    print(type(bs.a.string))       #检查一下它的类型
    print(type(bs.a))              #类型
    print(type(bs.name))           #类型
    print(bs.name)                 #名称
    print("-------------------------------------")
    print(bs.attrs)                #属性  是字典
    print(bs.a.attrs)              #我们把 a 标签的所有属性打印输出了出来,得到的类型是一个字典。
    print(bs.a.get('class'))       #利用get方法,传入属性的名称,二者是等价的
    bs.a['class']="newClass"       #对这些属性和内容等等进行修改
    print(bs.a.get('class'))
    del bs.a['class']              #对这个属性进行删除
    print(bs.a)
    
    • 运行结果:
    <a class="aaa" href="http://www.baidu.com" id="aaa" name="aaa">百度一下</a>
    http://www.baidu.com
    百度一下
    <list_iterator object at 0x000001B5EAB327B8>
    -----------------------------------
    <a class="aaa" href="http://www.baidu.com" id="aaa" name="aaa">百度一下</a>
    <bound method Tag.find_all of 
    <html>
    <body>
    <a class="aaa" href="http://www.baidu.com" id="aaa" name="aaa">百度一下</a>
            &lt; a href='http://www.baidu.com'&gt;百度一下2</body></html>
    <h1>大家好</h1>
    
    
    >
    <a class="aaa" href="http://www.baidu.com" id="aaa" name="aaa">百度一下</a>
    []
    [<a class="aaa" href="http://www.baidu.com" id="aaa" name="aaa">百度一下</a>]
    ------------------------------------
    None
    百度一下
    <class 'bs4.element.NavigableString'>
    <class 'bs4.element.Tag'>
    <class 'str'>
    [document]
    -------------------------------------
    {}
    {'id': 'aaa', 'href': 'http://www.baidu.com', 'name': 'aaa', 'class': ['aaa']}
    ['aaa']
    newClass
    <a href="http://www.baidu.com" id="aaa" name="aaa">百度一下</a>
    
    展开全文
  • STM32F103C8T6控制两片74HC595级联的3641BS八位数码管 首先要知道595的工作原理 ...3641BS中使用了两片595级联,一片595能输出一个字节,3641BS中,一片595用来作为数码管位选端,一片用来作为数据选择端。...
  • 软件架构风格整理(6 CS,BS等)

    千次阅读 2012-10-21 09:41:07
    1.1   CS 结构   C/S 软件体系结构是基于资源不...比如在ERP系统,贴近生产,需要操作效率(例如 MRP)和对本地控制要求比较高的可以采用CS三层,但对于一些行政OA性质的,一些对外接口则可以采用BS的(例如电子商务部分).
  • bs4获取htmlbody的所有子标签

    千次阅读 2019-03-18 10:48:56
    <p><strong>2019年6旬(预计最快时间)</strong></p> 第一批申报科创板的企业通过审核,科创板开板 预期2019全年的科创板上市企业或在150家左右,预估募资规模500-1000亿元 <p><strong>2020年</strong></p...
  • python中bs4的四大对象种类

    千次阅读 2018-07-27 19:40:48
    Beautiful Soup将复杂的HTML文档转换成一个复杂的树形结构,每个...Tag通俗点讲就是HTML的一个个标签,例如: &lt;head&gt;&lt;title&gt;The Dormouse's story&lt;/title&gt;&lt...
  • x264中bs.h文件部分函数解读

    千次阅读 2013-08-16 15:52:17
    1) static inline void bs_write( bs_t *s, int i_count, uint32_t i_bits ) 该函数的作用是:向s里写入i_bits流的后i_count位,s以字节为单位,所以够8个位就写下个(注意i_bits的单位是uint32_t)。 sta
  • delphi CS转BS

    千次阅读 2017-07-06 15:47:01
    通过satrda的免费浏览器插件,直接把delphi的CS程序转换成BS可以在浏览器运行。
  • 简介 有的时候自己写技术文档或者笔记的时候发现md语法下的插入图片要么是本地要么...又有人就会说,一个几M的图片转换出来的bs64码比我的文章还长啊(不信你试一下复制下面的bs64看一下多少字符,小新复制的时候死机-.
  • 实例:提取http://python123.io/ws/demo.html链接的所有url 思路:1.搜索所有的标签  2.解析标签格式,提取href后的链接内容 实现代码如下: import requests from bs4 import BeautifulSoup r = requests.get...
  • bs4和lxml用法

    千次阅读 2018-02-01 23:14:17
    # Beautiful soup4:python支持的第三方库,可以快速的从html网页提取所需要的数据 # bs4:beautiful soup 4简写 # lxml第三方的解析库,默认情况下,bs4会使用Python自带的解析器,但是lxml解析速度更快,功能更...
  • android rtl8723bs 调试

    千次阅读 2016-08-19 16:28:36
    支持rtl8723bu,rtl8723bs
  • python(BS4模块)

    万次阅读 多人点赞 2019-02-20 12:35:43
    BS4简介 1.什么时BS4? BS4全称是Beatiful Soup,它提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为tiful ...2.BS4的4对象 Tag对象:是html的一个标签,...
  • ------------------承志软件工作室宣--------------------------------------->>>>>>>>>>>>>>>>>>BS系统开发者的福音-------------------------------------------------------------------------本工作室 呕心沥血 ...
  • (bootstrap下文简称为bs) 一.栅格系统 相对于原来的bs3,bs4具有了范围更大的适应区间.在过去的bs3的xs sm md lg ,bs4又增加了一个xl这个区间,为超大屏幕做出了适应。    超小&lt;576px小≥576...
  • BS资产管理系统_BS资产管理系统方案

    千次阅读 2019-05-20 21:25:57
    资产管理系统功能说明: ... 资产管理人员可以通过领用登记的方式将资产发放信息记录在系统,资产领用需要登记的信息包括:资产编号、领用部门、使用人、领用时间、经办人、审核人等相关信...
  • bs4安装过程

    千次阅读 2016-04-07 19:05:04
    参考前面bs4的README.txt的内容,执行如下命令: D:\>python Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for ...
  • cs/bs 的区别与作用

    千次阅读 多人点赞 2017-11-30 15:11:24
    1.CS = Client - Server = 客戶端 - 服務器。例子: QQ,迅雷,快播,暴風影音,各種網絡遊戲等等。...2.BS = Browser - Server = 浏览器 - 服務器。 例子:所有的网站都是bsBS即Browser/Server(浏览器/服务器)结
  • 如何使用 bs_pagination

    千次阅读 2015-03-20 17:34:41
    如何使用 bs_pagination 添加对 bs_pagination 的 css 和 js 文件的引用。 创建一个div用于渲染 bs_pagination 插件。给其一个ID (比如 mypagination ) 添加如下的 js $("#mypagination").bs_pagination
  • BS开发技术

    千次阅读 2005-10-13 10:58:00
    -------------------------------->>>>>>>>>>>>>>>>>>BS系统开发者的福音-------------------------------------------------------------------------本工作室 呕心沥血 历尽3年时间,在多个大型的B/S系统的开发,...
  • bs_pagination使用方法

    2018-06-06 15:45:42
    ~/Content/pagination/jquery.bs_pagination.min.css" rel="stylesheet" /&gt;&lt;script src="~/Content/pagination/jquery.bs_pagination.min.js"&gt;&lt;/script&...
  • 不改代码,CS转BS

    万次阅读 2017-07-06 22:20:35
    通过satrda的浏览器插件,可以直接把CS程序转换成BS运行,包括.net、C++、PB、delphi、VB等的CS程序都可以转化。在浏览器输入自己配置的地址后,插件会自动下载上传的CS应用,并加载到浏览器。 运行效果如图: ...
  • 随着多个浏览器厂商的竞争,导致现在越来越多的浏览器层出不穷,做BS开发让我们不得不考虑各种浏览器的兼容性,在解决不同版本浏览器之前,我们首先的认识和谈谈W3C标准。 那么到底什么是W3C呢?W3C:World Wide ...
  • BS下实现打印gridview

    千次阅读 热门讨论 2016-04-06 10:07:40
     最近公司让做的工作包含一个打印功能,我用的是gridview,将其从页面直接打印下来。  具体解决方案如下:  思路:  将gridview包含到一个div,然后将div的html提交到另一个页面,最终打印这个页面。  ...
  • Python -BS4详细介绍

    千次阅读 2018-05-26 15:11:54
    在应用过程有很多模块是非常方便的,先尝试使用BeautifulSoup和Urllib进行网页的处理,仅供学习.首先列举所需要导入的模块:from bs4 import BeautifulSoup # 处理获取的网页信息import bs4 ...
  • 首先直接上代码,这一段代码是我练习爬取steam 文明6 价格信息。import requests #导入requests 模块 from bs4 import BeautifulSoup #导入BeautifulSoup 模块 import os #导入os模块 header = {'User-Agent': '...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 115,595
精华内容 46,238
关键字:

中6bs