Python常用网页字符串处理技巧
首先一些Python字符串处理的简易常用的用法。其他的以后用到再补充。
1.去掉重复空格
s = "hello hello hello"
s = ' '.join(s.split())
2.去掉所有回车(或其他字符或字符串)
s = "hello\nhello\nhello hello\n"
print(s)
s = s.replace("\n","")
print(s)
3.查找字符串首次出现的位置(没有返回-1)
s = "hello\nhello\nhello hello\n"
print(s.find('\n'))
print(s.find('la'))
4.查找字符串从后往前找首次出现的位置(没有返回-1)
s = "hello\nhello\nhello hello\n"
print(s.rfind('\n'))
print(s.rfind('la'))
5.将字符串转化成列表list
s = "hello\nhello\nhello hello\n"
print(list(s))
6.查找所有匹配的子串
import re s = "hello\nhello\nhello hello\n"
print(re.findall('hello',s)) # hello也可以换成正则表达式
然后是网页字符串处理的高端用法:(综合运用requests模块,beautifulsoup模块,re模块等)
1.requests获取一个链接的内容并原封不动写入文件
import requests
r = requests.get('https://baike.baidu.com')
with open('test.html', 'wb') as fd:
for chunk in r.iter_content(100):
fd.write(chunk)
2.读取一个文件的所有内容存到一个字符串里
# encoding : utf-8
with open('test.html','r',encoding='utf-8') as f:
content = f.readlines()
content = ''.join(content)
# content = content.replace('\n','') # 如果想去掉回车可以加上这行
print(content)
3.把网页字符串用BeautifulSoup存起来处理
from bs4 import BeautifulSoup soup = BeautifulSoup(content,'html.parser')
print(soup.prettify())
4.存到BeautifulSoup里之后这个字符串就可以任你摆布了,比如:提取出所有<a>标签
soup = BeautifulSoup(content,'html.parser')
print(soup.find_all('a'))
或者提取出所有<a>标签和<b>标签
soup = BeautifulSoup(content,'html.parser')
print(soup.find_all(['a','b']))
这些属于beautifulsoup的内容了,可以看官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
也可以看我的另一篇博客:http://www.cnblogs.com/itlqs/p/5902678.html
5.多个关键字切分字符串
import re
re.split('; |, ',str) >>> a='Beautiful, is; better*than\nugly'
>>> import re
>>> re.split('; |, |\*|\n',a)
['Beautiful', 'is', 'better', 'than', 'ugly']
Python常用网页字符串处理技巧的更多相关文章
- python常用的字符串格式化有哪几种?
常用字符串格式化%和format 皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为 ...
- python 常用的字符串方法
st = ' hello Kitty 'str = 'hello {name} {age}' #print(st.format(name='fadfa'))#常用的字符串方法print(st.coun ...
- [Python Study Notes]字符串处理技巧(持续更新)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- python常用连接字符串
1.使用占位符% print(('%s%s%s' % ('one','two', 'three'))) 2.'+'号连接 字符串是不可变对象,每次改变会申请一块新的内存,操作符+连接字符串的时候会涉及 ...
- C++常用的字符串处理函数-全
这是自己用stl实现的一些字符串处理函数和常用的字符串处理技巧,经验正基本无误,可直接使用,若有问题,可相应列出 包括:split string to int int to string join # ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- Python 编程语言要掌握的技能之一:使用数字与字符串的技巧
最佳实践 1. 少写数字字面量 “数字字面量(integer literal)” 是指那些直接出现在代码里的数字.它们分布在代码里的各个角落,比如代码 del users[0] 里的 0 就是一个数字 ...
- Python使用数字与字符串的技巧
1.少写数字字面量 "数字字面量(integer literal)" 是指那些直接出现在代码里的数字.它们分布在代码里的各个角落,比如代码 del users[0] 里的 0 就是 ...
- Python 工匠:使用数字与字符串的技巧
序言 这是 "Python 工匠"系列的第 3 篇文章. 数字是几乎所有编程语言里最基本的数据类型,它是我们通过代码连接现实世界的基础.在 Python 里有三种数值类型:整型(i ...
随机推荐
- python tile函数用法
tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组.比如tile(A,n),功能是将数组A重复n次,构成一个新的数组,我们还是使用具体的例子来说明问题 ...
- js记录用户在网站的浏览记录和停留时间
by weber开发者 from http://weber.pub/ 本文地址: http://weber.pub/js记录用户行为浏览记录和停留时间/163.html 问题 公司想统计一个用户从进入 ...
- Memcached 内存级缓存
Memcached在大型网站中应用 memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视 频.文件以及 ...
- ADO.NET+Access: 2,至少一个参数没有被指定值
ylbtech-Error-ADO.NET+Access: 2,至少一个参数没有被指定值. 1.A,错误代码返回顶部 2,至少一个参数没有被指定值. 1.B,出错原因分析返回顶部 未解决 1.C, ...
- Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印
1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) thro ...
- 关于Cygwin的x-Server的自动运行以及相关脚本修改
常常需要用到远端服务器的图形工具,如果在windows端没用xserver的话,很多程序无法运行.一个特殊的例子,emacs在没用xserver的时候,是直接在终端中打开的,如果不修改cygwin.b ...
- 数往知来 ADO.NET <八>
ADO.NET基础 学习目的:通过程序访问数据库 ,ADO.NET就是一组类库, -->connection 用来连接数据库的类 语法:首先需要一个连接字符串 -->以SQL serv ...
- linux c下mysql编程样例
/* ============================================================================ Name : mysql1.c Auth ...
- android 源码 中修改系统字体大小
在源码\android\frameworks\base\core\java\android\content\res \Configuration.java下有读取DEFAULT_FONTSCALE的值 ...
- SpringBoard
[SpringBoard] Springboard, or Home Screen, is the standard application that manages the iOS home scr ...