导航:首页 > 净水问答 > python3过滤html

python3过滤html

发布时间:2021-01-29 16:36:47

❶ python 如何过滤 HTML标签

基于文本文档(Markdown) 设想好需要的基本需要的表、字段、类型;
使用 Rails Migration 随着功能的开发逐内步创建表;
随着细容节功能的开发、需求,逐步增加字段,删除字段,或者调整字段类型;
第一个 Release 的时候清理 Migrations 合并成一个;
随着后期的改动,逐步增加、修改、删除字段或表。
基本上我的所有项目都是这么搞的,这和项目是否复杂无关。

❷ python3爬虫获取HTML文档时的问题。

很正常。控制台支持的编码有限。建议你存到文件再打开看是否正常。
另外页面写了是gbk编码,存文件也试试gbk

❸ python3.x提取网页全部文本(要求适用全部网站)

#coding=utf-8
importrequests
importsys

defgetHtmlText(url,prefix='http'):
ifnoturl.startswith(prefix):
url='{}://{}'.format(prefix,url)
try:
kv={'User-Agent':'Mozilla/5.0'}#模拟浏览器Mozilla
r=requests.get(url,headers=kv,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
returnr.text
except:
return'爬取失败,请检查网址或网络连接'

if__name__=='__main__':
url='www..com'#要爬取的网站
iflen(sys.argv)>1:
url=sys.argv[1]
fname='a.html'#爬取结果写在这个文件里
iflen(sys.argv)>2:
fname=sys.argv[2]
text=getHtmlText(url)
withopen(fname,'w')asf:
f.write(text)
print('contentofsitewriteat"',fname,'"withlengthof',len(text))

ref:http://www.icourse163.org/course/BIT-1001870001

❹ 求教python 网站爬虫过滤出图片 url 的问题

  1. lxml

#!/usr/bin/python3.4
#-*-coding:utf-8-*-
#教程:http://www.cnblogs.com/TTyb/p/5832790.html
fromlxmlimportetree
importurllib.request

#目标网址的html可以看一下
url="http://www.1kkk.com/manhua589/"
#解析网址
data=urllib.request.urlopen(url).read()
#解码
html=data.decode('UTF-8','ignore')

page=etree.HTML(html.lower())

#查找的目标样式如下
"""
...
<ulclass="sy_nr1cplist_ullg">
<li>
<ahref="/vol1-6871/"class="tg">第1卷</a>(96页)</li>
<li>
<ahref="/vol2-6872/"class="tg">第2卷</a>(90页)</li>
<li>
<ahref="/vol3-6873/"class="tg">第3卷</a>(95页)</li>
<li>
<ahref="/vol4-6874/"class="tg">第4卷</a>(94页)</li>
<li>
<ahref="/vol5-6875/"class="tg">第5卷</a>(95页)</li>
...
"""

#找到ul下li下的a中的href
hrefs=page.xpath('//ul[@class="sy_nr1cplist_ullg"][2]/li/a/@href')

#找到<a>...</a>之间的文字
hrefnames=page.xpath('//ul[@class="sy_nr1cplist_ullg"][2]/li/a/text()')

#找到页数
hrefpages=page.xpath('//ul[@class="sy_nr1cplist_ullg"][2]/li/text()')

forhrefinhrefs:
#打印出来
print(href)

2.BS4

#!/usr/bin/python3.4
#-*-coding:utf-8-*-
importurllib.request
frombs4importBeautifulSoup
#教程:http://www.cnblogs.com/TTyb/p/5799564.html
if__name__=='__main__':
url="http://www.lenggirl.com/"
headers={
'User-Agent':'Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.11(KHTML,likeGecko)Chrome/23.0.1271.64Safari/537.11',
'Accept':'text/html;q=0.9,*/*;q=0.8',
'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding':'gzip',
'Connection':'close',
'Referer':None
}
data=urllib.request.urlopen(url).read()
#('UTF-8')('unicode_escape')('gbk','ignore')
data=data.decode('UTF-8','ignore')
#初始化网页
soup=BeautifulSoup(data,"html.parser")
#打印整个网页
html=soup.prettify()
#打印<head>...</head>
head=soup.head
#打印<body>...</body>
body=soup.body
#打印第一个<p>...</p>
p=soup.p
#打印p的内容
p_string=soup.p.string
#soup.p.contents[0]为Aug22,2016
#soup.p.contents为['Aug22,2016 ']
p_string=soup.p.contents[0]
#将body里面的所有头打印出来
forchildinsoup.body.children:
#print(child)
pass
#将所有的<a>...</a>和<p>...</p>打印出来
a_and_p=soup.find_all(["a","p"])
#找到<a>...</a>下所有的网址
formyimginsoup.find_all('a'):
img_src=myimg.get('href')
#print(img_src)
#找到<a>...</a>下类为class_='a'下面的<img>...</img>里面的src
formyimginsoup.find_all('a',class_='a'):
img_src=myimg.find('img').get('src')
#网页所有信息
#print(html)

3.正则

❺ python 正则 匹配HTML

正确的复html闭标签里,是以制/开头的,所以网页的源代码不可能是<\/span>,<span class=\"name\">小小少年lala<\/span>\r\n\t里的前三个\是为了在字符串里显示“和/而已,并不是字符串的内容。

网页应该是
<span class="name">小小少年lala</span>\r\n\t

你的正则应该用
p=re.compile('<span class="name">(.*)<\/span>')

❻ python3 能解析html吗

可以的,使用beautifulsoup就可以解析了。
import urllib
import urllib.request
import beautifulsoup
html = urllib.request.urlopen('http://yugioh.wikia.com/wiki/Card_Tips:Blue-Eyes_White_Dragon').read()
soup = beautifulsoup.bs4(html)
texts = soup.findAll(text=True)
def visible(element):
if element.parent.name in ['style', 'script', '[document]', 'head', 'title']:
return False
elif re.match('<!--.*-->', str(element)):
return False
return True
visible_texts = filter(visible, texts)

❼ python正则表达式去除html标签的属性

importre
test='<pclass="pictext"align="center">陈细妹</p>'
test=re.sub(r'(<[^>s]+)s[^>]+?(>)',r'12',test)
print(test)

❽ python3 htmltestrunner 怎么判断用例失败

修改HTMLTestRunner.py以支持+

搜索到的结果整理

❾ python 去除html标签的几种方法

python去除html标签的几种方法,代码如下:

#!/usr/bin/python
#-*-coding:utf-8-*-
'''
Createdon2015-07-08
@author:Administrator
'''
importre

classFilterTag():
def__init__(self):
pass
deffilterHtmlTag(self,htmlStr):
'''
过滤html中的标签
:paramhtmlStr:html字符串或是网页源码
'''
self.htmlStr=htmlStr
#先过滤CDATA
re_cdata=re.compile('//]*//]]>',re.I)#匹配CDATA
re_script=re.compile('<s*script[^>]*>[^<]*<s*/s*scripts*>',re.I)#Script
re_style=re.compile('<s*style[^>]*>[^<]*<s*/s*styles*>',re.I)#style
re_br=re.compile('')#处理换行
re_h=re.compile(']*>')#HTML标签
re_comment=re.compile('')#HTML注释
s=re_cdata.sub('',htmlStr)#去掉CDATA
s=re_script.sub('',s)#去掉SCRIPT
s=re_style.sub('',s)#去掉style
s=re_br.sub(' ',s)#将br转换为换行
blank_line=re.compile(' +')#去掉多余的空行
s=blank_line.sub(' ',s)
s=re_h.sub('',s)#去掉HTML标签
s=re_comment.sub('',s)#去掉HTML注释
#去掉多余的空行
blank_line=re.compile(' +')
s=blank_line.sub(' ',s)
filterTag=FilterTag()
s=filterTag.replaceCharEntity(s)#替换实体
prints

defreplaceCharEntity(self,htmlStr):
'''
替换html中常用的字符实体
使用正常的字符替换html中特殊的字符实体
可以添加新的字符实体到CHAR_ENTITIES中
CHAR_ENTITIES是一个字典前面是特殊字符实体后面是其对应的正常字符
:paramhtmlStr:
'''
self.htmlStr=htmlStr
CHAR_ENTITIES={'nbsp':'','160':'',
'lt':'<','60':'<',
'gt':'>','62':'>',
'amp':'&','38':'&',
'quot':'"','34':'"',}
re_charEntity=re.compile(r'&#?(?Pw+);')
sz=re_charEntity.search(htmlStr)
whilesz:
entity=sz.group()#entity全称,如>
key=sz.group('name')#去除&;后的字符如(""--->key="nbsp")去除&;后entity,如>为gt
try:
htmlStr=re_charEntity.sub(CHAR_ENTITIES[key],htmlStr,1)
sz=re_charEntity.search(htmlStr)
exceptKeyError:
#以空串代替
htmlStr=re_charEntity.sub('',htmlStr,1)
sz=re_charEntity.search(htmlStr)
returnhtmlStr

defreplace(self,s,re_exp,repl_string):
returnre_exp.sub(repl_string)


defstrip_tags(self,htmlStr):
'''
使用HTMLParser进行html标签过滤
:paramhtmlStr:
'''
self.htmlStr=htmlStr
htmlStr=htmlStr.strip()
htmlStr=htmlStr.strip(" ")
result=[]
parser=HTMLParser()
parser.handle_data=result.append
parser.feed(htmlStr)
parser.close()
return''.join(result)

defstripTagSimple(self,htmlStr):
'''
最简单的过滤html<>标签的方法注意必须是<任意字符>而不能单纯是<>
:paramhtmlStr:
'''
self.htmlStr=htmlStr
#dr=re.compile(r'<[^>]+>',re.S)
dr=re.compile(r']*>',re.S)
htmlStr=re.sub(dr,'',htmlStr)
returnhtmlStr

if__name__=='__main__':
#s=file('Google.html').read()
filters=FilterTag()
printfilters.stripTagSimple("<1>你好")

❿ python中如何通过关键字查找到指定的HTML标签

可以使用正则表达式的方法

正则表达式:工作职责:</th>s+<td>(.+?)</td>


importre
content="页面内容"
re_1=re.search('工作职责:</th>s+<td>(.+?)</td>',content)
ifre_1:
printre_1.group(1)
else:
print"notfind!"

因为正则表达式有中文 所以要保证你的内容与文本是一个编码

阅读全文

与python3过滤html相关的资料

热点内容
污水格栅机一台多少钱 浏览:692
污水脱氮怎么去除 浏览:206
陶氏反渗透膜标志 浏览:438
医疗废水国家排放标准 浏览:723
石英砂多介质过滤器厂家电话 浏览:61
lsc500树脂 浏览:182
污水处理电费占运行费用比 浏览:164
曝气生物滤池污水厂 浏览:53
天津工业废水治理企业 浏览:44
用什么洗空调滤芯 浏览:257
老式泰山25拖拉机提升器总成 浏览:965
污水泵空气开关跳闸为什么 浏览:235
sbs树脂可剥漆 浏览:961
温江净水过滤 浏览:13
小区饮水机废水能用吗 浏览:889
过滤网厂家58同城 浏览:112
广州医用超纯水器供水设备多少钱 浏览:952
大金空调室内机提升泵 浏览:172
正规滤芯怎么用 浏览:2
树脂包清洗 浏览:506