整理的一些在使用Python中常用网页字符串处理方法

梦里梦外; 2022-10-19 05:30 196阅读 0赞

首先一些Python字符串处理的简易常用的用法。

1.去掉重复空格

  1. s = "hello hello hello"
  2. s = ' '.join(s.split())

2.去掉所有回车(或其他字符或字符串)

  1. s = "hello\nhello\nhello hello\n"
  2. print(s)
  3. s = s.replace("\n","")
  4. print(s)

3.查找字符串首次出现的位置(没有返回-1)

  1. ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. s = "hello\nhello\nhello hello\n"
  3. print(s.find('\n'))
  4. print(s.find('la'))

4.查找字符串从后往前找首次出现的位置(没有返回-1)

  1. s = "hello\nhello\nhello hello\n"
  2. print(s.rfind('\n'))
  3. print(s.rfind('la'))

5.将字符串转化成列表list

  1. s = "hello\nhello\nhello hello\n"
  2. print(list(s))

6.查找所有匹配的子串

  1. ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. import re
  3. s = "hello\nhello\nhello hello\n"
  4. print(re.findall('hello',s)) # hello也可以换成正则表达式

然后是网页字符串处理的高端用法:

综合运用requests模块,beautifulsoup模块,re模块等

1.requests获取一个链接的内容并原封不动写入文件

  1. import requests
  2. r = requests.get('https://baike.baidu.com')
  3. with open('test.html', 'wb') as fd:
  4. for chunk in r.iter_content(100):
  5. fd.write(chunk)

2.读取一个文件的所有内容存到一个字符串里

  1. ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. with open('test.html','r',encoding='utf-8') as f:
  3. content = f.readlines()
  4. content = ''.join(content)
  5. # content = content.replace('\n','') # 如果想去掉回车可以加上这行
  6. print(content)

3.把网页字符串用BeautifulSoup存起来处理

  1. from bs4 import BeautifulSoup
  2. soup = BeautifulSoup(content,'html.parser')
  3. print(soup.prettify())

4.存到BeautifulSoup里之后这个字符串就可以任你摆布了,比如:提取出所有<a>标签

  1. soup = BeautifulSoup(content,'html.parser')
  2. print(soup.find_all('a'))

或者提取出所有<a>标签和<b>标签

  1. ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. soup = BeautifulSoup(content,'html.parser')
  3. print(soup.find_all(['a','b']))

这些属于beautifulsoup的内容了

5.多个关键字切分字符串

  1. import re
  2. re.split('; |, ',str)
  3. >>> a='Beautiful, is; better*than\nugly'
  4. >>> import re
  5. >>> re.split('; |, |\*|\n',a)
  6. ['Beautiful', 'is', 'better', 'than', 'ugly']

发表评论

表情:
评论列表 (有 0 条评论,196人围观)

还没有评论,来说两句吧...

相关阅读