请问如何用Python正则表达式提取网页中的网址?
- 内容介绍
- 相关推荐
本文共计520个文字,预计阅读时间需要3分钟。
正则表达式对于Python来说并非独有的,但最近在Google搜索结果中,以下站点地址被导出,用于想通过Python正则表达式提取搜索结果中的站点地址:
1. example.com
2.site2.com
3.www.example3.org
其中涉及几个需要解决的问题:
- 如何定位搜索结果中的站点地址?- 如何区分不同的顶级域名?- 如何处理网址中的特殊字符和格式?正则表达式对于Python来说并不是独有的,最近在把google搜索的结果中所有的站点地址导出,于是想到用python正则表达式提取搜索结果中的站点地址。
这其中涉及几个需要解决的问题:
1、获取搜索的结果文本
为了获得更多的地址,我使用了Google的高级搜索功能,每个页面显示100条结果。
获得显示的结果后,可以查看源码,并保持成文本文件就有了搜索的结果文本
2、分析如何提取站点信息
首先需要分析获取的页面,查看以怎样的方式可以提取出站点信息。
我使用IE8自带的开发工具(按F12就会弹出来)中的探查器功能查看自己要关心的内容有什么特殊的格式
从上图可以看出我需要的站点在标签<cite></cite>中,所以我使用正则表达式提取这其中的文本是否就可以呢?
3、编写正则表达式来获取站点地址
接下来的就是写表达式了,我使用Python3.2编写的,方便好用(~_~)
代码如下,先把搜索结果页面保持到e:/t3.txt中,在执行如下代码
import re p = re.compile(r'<cite>([^<>\/].+?)</cite>') f = open("e:/t3.txt", encoding='utf-8') content = f.read() print ("\n".join(p.findall(content)))
运行如下:
大家可以对照一下运行效果图,看看所有的站点地址是不是都给获取到了。
本文共计520个文字,预计阅读时间需要3分钟。
正则表达式对于Python来说并非独有的,但最近在Google搜索结果中,以下站点地址被导出,用于想通过Python正则表达式提取搜索结果中的站点地址:
1. example.com
2.site2.com
3.www.example3.org
其中涉及几个需要解决的问题:
- 如何定位搜索结果中的站点地址?- 如何区分不同的顶级域名?- 如何处理网址中的特殊字符和格式?正则表达式对于Python来说并不是独有的,最近在把google搜索的结果中所有的站点地址导出,于是想到用python正则表达式提取搜索结果中的站点地址。
这其中涉及几个需要解决的问题:
1、获取搜索的结果文本
为了获得更多的地址,我使用了Google的高级搜索功能,每个页面显示100条结果。
获得显示的结果后,可以查看源码,并保持成文本文件就有了搜索的结果文本
2、分析如何提取站点信息
首先需要分析获取的页面,查看以怎样的方式可以提取出站点信息。
我使用IE8自带的开发工具(按F12就会弹出来)中的探查器功能查看自己要关心的内容有什么特殊的格式
从上图可以看出我需要的站点在标签<cite></cite>中,所以我使用正则表达式提取这其中的文本是否就可以呢?
3、编写正则表达式来获取站点地址
接下来的就是写表达式了,我使用Python3.2编写的,方便好用(~_~)
代码如下,先把搜索结果页面保持到e:/t3.txt中,在执行如下代码
import re p = re.compile(r'<cite>([^<>\/].+?)</cite>') f = open("e:/t3.txt", encoding='utf-8') content = f.read() print ("\n".join(p.findall(content)))
运行如下:
大家可以对照一下运行效果图,看看所有的站点地址是不是都给获取到了。

