python 正则表达式 URL
时间: 2023-12-12 21:35:43 浏览: 115
以下是使用正则表达式获取字符串中的URL的Python代码示例:
```python
import re
def find_url(string):
# findall() 查找匹配正则表达式的字符串
url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
return url
string = 'Runoob 的网页地址为:https://www.runoob.com,Google 的网页地址为:https://www.google.com'
print("Urls: ", find_url(string)) # 输出:['https://www.runoob.com', 'https://www.google.com']
```
该代码使用了Python的re模块中的findall()函数,通过正则表达式匹配字符串中的URL并返回一个列表。
相关问题
python正则表达式提取url
可以使用re模块中的findall函数来提取url。
示例代码:
```python
import re
text = '这是一个网址:https://www.example.com,另一个网址是:http://www.google.com'
urls = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', text)
print(urls)
```
输出结果:
```
['https://www.example.com', 'http://www.google.com']
```
解释:
正则表达式`https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+`匹配http或https开头的url,其中`(?:)`表示非捕获组,`[-\w.]`表示匹配字母、数字、下划线、横线和句点中的任意一个字符,`%[\da-fA-F]{2}`表示匹配%后面跟两个十六进制数字的字符串。
python正则表达式爬虫
使用Python的正则表达式进行爬虫是一种常见的方式,它可以用来从网页文本中提取特定的信息。下面是一个简单的示例,演示了如何使用正则表达式进行爬虫:
```python
import re
import requests
# 发起网络请求获取网页内容
response = requests.get('http://example.com')
html_content = response.text
# 使用正则表达式匹配网页中的链接
pattern = r'<a href="(.*?)".*?>(.*?)</a>'
links = re.findall(pattern, html_content)
# 打印匹配到的链接
for link in links:
url = link[0]
text = link[1]
print(f"URL: {url}\nText: {text}\n")
```
在上面的示例中,我们首先使用requests库发起了一个GET请求,获取了一个网页的内容。然后,我们使用re模块中的findall函数和正则表达式模式去匹配网页中的链接。这里的正则表达式模式用来匹配`<a href="URL">Text</a>`这样的链接标签。最后,我们打印出匹配到的链接的URL和文本。
需要注意的是,正则表达式可以很强大,但在处理复杂的HTML文档时可能会变得不够稳定。对于复杂的HTML解析,推荐使用专门的HTML解析库,如BeautifulSoup或lxml。这些库提供了更方便和健壮的方法来提取和处理HTML内容。
阅读全文