Python爬虫常用模块,BeautifulSoup笔记
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笔记的更多相关文章
- Python爬虫常用模块安装
安装:pip3 install requestspip3 install seleniumpip3 install bs4pip3 install pyquerypip3 install pymysq ...
- Python 爬虫常用模块
1. fake_useragent #pip install fake_useragent requests 2.图展示 pip install pyecharts pip install pyech ...
- python的常用模块之collections模块
python的常用模块之collections模块 python全栈开发,模块,collections 认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文 ...
- python爬虫 urllib模块url编码处理
案例:爬取使用搜狗根据指定词条搜索到的页面数据(例如爬取词条为‘周杰伦'的页面数据) import urllib.request # 1.指定url url = 'https://www.sogou. ...
- python 爬虫 urllib模块 目录
python 爬虫 urllib模块介绍 python 爬虫 urllib模块 url编码处理 python 爬虫 urllib模块 反爬虫机制UA python 爬虫 urllib模块 发起post ...
- python库学习笔记——爬虫常用的BeautifulSoup的介绍
1. 开启Beautiful Soup 之旅 在这里先分享官方文档链接,不过内容是有些多,也不够条理,在此本文章做一下整理方便大家参考. 官方文档 2. 创建 Beautiful Soup 对象 首先 ...
- 路飞学城Python爬虫课第一章笔记
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...
- python爬虫-urllib模块
urllib 模块是一个高级的 web 交流库,其核心功能就是模仿web浏览器等客户端,去请求相应的资源,并返回一个类文件对象.urllib 支持各种 web 协议,例如:HTTP.FTP.Gophe ...
- python 之常用模块
一 认识模块 二 常用模块 (1)re模块 (2)collections模块 一 认识模块 (1)什么是模块 (2)模块的导入和使用 (1)模块是:一个模块就是一个包含 ...
随机推荐
- NET设计模式-单例模式(Singleton Pattern)
1. 概述 Singleton Pattren 要求一个类有且仅有一个实例,并且提供一个全局变量.这个创建的对象是独一无二的,在这个单独对象实例中,集中所创建类的所有属性和方法. 在创建一个单例,何时 ...
- c#基础语言编程-编码
字符编码是计算机技术的基础理论,其字符编码有ASCII码.UTF-8.还有就是GB2312,当然这是在中国常用的. 1.ASCII码 在计算机内部所有的信息都是以二进制字符进行存储.用每个二进制位中的 ...
- javascript弹出框打印某个数值时,弹出NaN?(not a number)
一.NaN:表示not a number null 未定义或空字符串 undefined 对象属性不存在 或是声明了变量但从未赋值. 二.出现这种情况有(1)此常数的值是零被零除所得到的结果. (2) ...
- mysqldump 定时任务 执行后备份的文件为空
#!/bin/bash mysql_host="127.0.0.1" mysql_user="root" mysql_passwd="******** ...
- Qt自定义控件(插件)并添加到QtDesigher
之前使用Qt的时候都是手写代码的(因为批量按钮可以使用数组实现),但当界面越来越复杂时,这种开发效率就太低了; 后来就开始使用QtDesigner,但要使QtDesigner支持我自己写的控件,需要提 ...
- hadoop2.2 伪分布式环境
在安装JDK之前,请确认系统是32还是64,根据系统版本,选择JDK版本.Hadoop版本 下面是以在CentOS-6.5-x86_64系统上安装为例 安装前准备 在"/usr"下 ...
- android学习笔记----JNI中的c控制java
面向对象的底层实现 java作为面向对象高级语言,可对现实世界进行建模.和面向过程不同的是面向对象软件的编写不是流程的堆积,而是对业务逻辑的多视角分解和分类.其过程大致为: 1).将知识分解 ...
- Vim键盘图与命令图解
- MVC+EF 的增删改查操作
1. //创建EF映射对象数据集 static Models.db_JiaoYouEntities DbDeleteData = new Models.db_JiaoYouEntities(); 2. ...
- Android--WebView控件
WebView 一 简介: WebView一般用于将Android页面已HTML的形式展现,我们一般叫它HTML5开发: WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用,通过 ...