注册 X
提交 注:点击提交后系统会发送邮件到邮箱验证!(仅支持中国大陆邮箱)
我已阅读并同意 服务条款
首页 > IT技术笔记 > 查看笔记

python常用正则表达式

使用selenium爬取html网页内容,

html = driver.find_element_by_xpath("//*").get_attribute("outerHTML")# 不要用 driver.page_source,那样得到的页面源码不标准


1.获取<tr></tr>标签之间内容

该部分主要是通过正则表达式获取两个标签之间的内容,通常这种标签都是成对出现的。
开始标签如:<tr>、<th>、<td>、<a>、<table>、<div>...
后缀标签如:</tr>、</th>、</td>、</a>、</table>、</div>...

核心代码:
        res_tr = r'<tr>(.*?)</tr>'
        m_tr =  re.findall(res_tr,language,re.S|re.M)

2.获取超链接<a href=..></a>之间内容

通常在使用正则表达式时,需要分析网页链接,获取URL或网页内容。核心代码如下:
        res = r'<a .*?>(.*?)</a>'
        mm =  re.findall(res, content, re.S|re.M)
        urls=re.findall(r"<a.*?href=.*?</a>", content, re.I|re.S|re.M)

3.爬取网页中所有URL链接


# coding=utf-8
import re
import urllib
url = "http://www.csdn.net/"
content = urllib.urlopen(url).read()
urls = re.findall(r"<a.*?href=.*?</a>", content, re.I)
for url in urls:
print unicode(url,'utf-8')
link_list = re.findall(r"(?<=href=").+?(?=")|(?<=href=').+?(?=')", content)
for url in link_list:
print(url)

4.抓取title标签间的内容

url = "http://www.baidu.com/"
content = urllib.urlopen(url).read()
title = re.findall(r'<title>(.*?)</title>', content)
print(title[0])

pat = r'(?<=<title>).*?(?=</title>)'
ex = re.compile(pat, re.M|re.S)
obj = re.search(ex, content)
title = obj.group()
print(title)




		        

		      

 打赏        分享



评论

邮箱: 昵称: