import urllib
import urllib.request as request
import re
from bs4 import * #url = 'http://zh.house.qq.com/'
url = 'http://www.0756fang.com/'
html = request.urlopen(url).read().decode('utf-8') soup = BeautifulSoup(html,"html.parser")
print(soup.head.meta['content'])#输出所得标签的‘’属性值
print(soup.span.string);print(soup.span.text)#两个效果一样,返回标签的text #name属性是‘’的标签的<ResultSet>类,是一个由<Tag>组成的list
print(soup.find_all(attrs={'name':'keywords'}))
print(soup.find_all(class_='site_name'))#class属性是‘’的<Tag>的list,即<ResultSet>
print(soup.find_all(class_='site_name')[0])#这是一个<Tag> print(soup.find(attrs={'name':'keywords'}))#name属性是‘’的标签的<Tag>类
print(soup.find('meta',attrs={'name':'keywords'}))#name属性是‘’的meta标签的<Tag>类
print(soup.find('meta',attrs={'name':'keywords'})['content'])#<Tag类>可直接查属性值
#配合re模块使用,可以忽略大小写
#如下面例子,可以找到name属性为keywords,KEYWORDS,KeyWORds等的meta标签
print(soup.find('meta',attrs={'name':re.compile('keywords',re.IGNORECASE)})) '''-------------------------------------------------------------------------'''
'''----------------------------修改BeautifulSoup—----------------------------'''
'''-------------------------------------------------------------------------'''
soup.find(attrs={'name':'keywords'}).extract#调用这个方法,可以删除这一个标签
soup.title.name='ppp'#可以把Tag的名字<title>改成<ppp> #可以使用append(),insert(),insert_after()或者insert_before()等方法来对新标签进行插入。
Tag1 = a.new_tag('li',class_='123')'''创造一个Tag'''
a.title.append(Tag1)#把Tag1添加为name是title的Tag的最后一个【子节点】,没有换行
#.insert(0,Tag1)----这里用insert的话,第一个参数可以控制所添加【子节点】的先后位置
#.insert_after(Tag1)---和insert_before一样,添加为Title的【兄弟节点】 soup.head.meta['content']='随便输入,可以添加(或更改)这个Tag的content属性(值)'
del soup.head.meta['content']#这个语法可以直接删除这个Tag的content属性 soup.li.clear#调用方法会清除所有li标签的text
soup.title.string='用这个方法可以修改title标签的内容'#慎用,只用于最子孙最小的节点,用于父节点会清空子节点
soup.div.append('放在div子节点位置的 最后append最后,是标签内容')
soup.div.insert(0,'放在div子节点位置的 最前insert【0】最前,是标签内容'')

  这是我以前的BS4笔记,交流请联系 QQ 328123440

Python爬虫常用模块,BeautifulSoup笔记的更多相关文章

  1. Python爬虫常用模块安装

    安装:pip3 install requestspip3 install seleniumpip3 install bs4pip3 install pyquerypip3 install pymysq ...

  2. Python 爬虫常用模块

    1. fake_useragent #pip install fake_useragent requests 2.图展示 pip install pyecharts pip install pyech ...

  3. python的常用模块之collections模块

    python的常用模块之collections模块 python全栈开发,模块,collections 认识模块 什么是模块?    常见的场景:一个模块就是一个包含了python定义和声明的文件,文 ...

  4. python爬虫 urllib模块url编码处理

    案例:爬取使用搜狗根据指定词条搜索到的页面数据(例如爬取词条为‘周杰伦'的页面数据) import urllib.request # 1.指定url url = 'https://www.sogou. ...

  5. python 爬虫 urllib模块 目录

    python 爬虫 urllib模块介绍 python 爬虫 urllib模块 url编码处理 python 爬虫 urllib模块 反爬虫机制UA python 爬虫 urllib模块 发起post ...

  6. python库学习笔记——爬虫常用的BeautifulSoup的介绍

    1. 开启Beautiful Soup 之旅 在这里先分享官方文档链接,不过内容是有些多,也不够条理,在此本文章做一下整理方便大家参考. 官方文档 2. 创建 Beautiful Soup 对象 首先 ...

  7. 路飞学城Python爬虫课第一章笔记

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...

  8. python爬虫-urllib模块

    urllib 模块是一个高级的 web 交流库,其核心功能就是模仿web浏览器等客户端,去请求相应的资源,并返回一个类文件对象.urllib 支持各种 web 协议,例如:HTTP.FTP.Gophe ...

  9. python 之常用模块

    一 认识模块 二 常用模块    (1)re模块    (2)collections模块 一  认识模块     (1)什么是模块      (2)模块的导入和使用 (1)模块是:一个模块就是一个包含 ...

随机推荐

  1. NET设计模式-单例模式(Singleton Pattern)

    1. 概述 Singleton Pattren 要求一个类有且仅有一个实例,并且提供一个全局变量.这个创建的对象是独一无二的,在这个单独对象实例中,集中所创建类的所有属性和方法. 在创建一个单例,何时 ...

  2. c#基础语言编程-编码

    字符编码是计算机技术的基础理论,其字符编码有ASCII码.UTF-8.还有就是GB2312,当然这是在中国常用的. 1.ASCII码 在计算机内部所有的信息都是以二进制字符进行存储.用每个二进制位中的 ...

  3. javascript弹出框打印某个数值时,弹出NaN?(not a number)

    一.NaN:表示not a number null 未定义或空字符串 undefined 对象属性不存在 或是声明了变量但从未赋值. 二.出现这种情况有(1)此常数的值是零被零除所得到的结果. (2) ...

  4. mysqldump 定时任务 执行后备份的文件为空

    #!/bin/bash mysql_host="127.0.0.1" mysql_user="root" mysql_passwd="******** ...

  5. Qt自定义控件(插件)并添加到QtDesigher

    之前使用Qt的时候都是手写代码的(因为批量按钮可以使用数组实现),但当界面越来越复杂时,这种开发效率就太低了; 后来就开始使用QtDesigner,但要使QtDesigner支持我自己写的控件,需要提 ...

  6. hadoop2.2 伪分布式环境

    在安装JDK之前,请确认系统是32还是64,根据系统版本,选择JDK版本.Hadoop版本 下面是以在CentOS-6.5-x86_64系统上安装为例 安装前准备 在"/usr"下 ...

  7. android学习笔记----JNI中的c控制java

    面向对象的底层实现 java作为面向对象高级语言,可对现实世界进行建模.和面向过程不同的是面向对象软件的编写不是流程的堆积,而是对业务逻辑的多视角分解和分类.其过程大致为:      1).将知识分解 ...

  8. Vim键盘图与命令图解

  9. MVC+EF 的增删改查操作

    1. //创建EF映射对象数据集 static Models.db_JiaoYouEntities DbDeleteData = new Models.db_JiaoYouEntities(); 2. ...

  10. Android--WebView控件

    WebView 一 简介: WebView一般用于将Android页面已HTML的形式展现,我们一般叫它HTML5开发: WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用,通过 ...