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. python 3 操作 excel

    看到一篇很好的python读写excel方式的对比文章: 用Python读写Excel文件 关于其他版本的excel,可以通过他提供的链接教程进行学习. XlsxWriter: https://git ...

  2. 最受IT公司欢迎的50款开源软件

    文章来自:云头条编译 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT ...

  3. 如何设置win7系统的文件夹为系统文件,从而隐藏文件夹

    1.如图所示,通过去掉勾选“隐藏受保护的操作系统文件(推荐)”和勾选“显示隐藏的文件.文件夹和驱动器”,可以查看系统所有文件

  4. 002-python书写规范--消去提示波浪线

    强迫症患者面对PyCharm的波浪线是很难受的,针对如下代码去除PyCharm中的波浪线: # _*_coding:utf-8_*_ # /usr/bin/env python3 A_user = & ...

  5. Handler具体解释系列(四)——利用Handler在主线程与子线程之间互发消息

    MainActivity例如以下: package cc.c; import android.app.Activity; import android.os.Bundle; import androi ...

  6. Objective-c Category使用

    Objective-c  Category使用 转载:http://blog.csdn.net/lovefqing/article/details/8289851 什么是Category Catego ...

  7. 十个最好的Java性能故障排除工具

    1.jconsole  是随着JDK 1.5而推出的.这是一个Java监测和管理控制台-JMX兼容的图形工具来监测Java虚拟机.它能够同时监测本地和远程的JVMs.详情可查看:jconsole工具介 ...

  8. iOS的内存管理

    在Objective-C 这种面向对象的语言里,内存管理是个重要的概念.要想用一门语言写出内存使用效率高而且又没有bug的代码,就得掌握其内存管理模型的种种细节. 一旦理解了这些规则,你就会发现,其实 ...

  9. RHEL7安装配置TigerVNC

    TigerVNC使用非加密的链接,默认会被firewalld blocked 掉,想要 vnc正常工作就需要让firewalld开放相应的端口才行. vnc默认的端口号为5900,而每个vnc win ...

  10. typeerror $.ajax is not a function

    在web开发中使用jQuery进行前端开发遇到这么个问题,纠结了很久终于解决了,下面说一下解决方法. 大家可以参照下面几种排查的方法. 1.首先检查是否引用jQuery的库. 2.页面如果使用的ifr ...