热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python怎么判断url是否正确_Python:如何判断一个url是以http开头的?

Python:如何判断一个url是以http开头的?有一个文本,里面存放了很多的字符串,有的是以http开头的,

Python:如何判断一个url是以http开头的?

有一个文本,里面存放了很多的字符串,有的是以http开头的,有些不是,如何过滤出url呢?

比如一个文本test.txt,里面的内容为:

http://www.sogou.com

this is a url

this is http://www.sogou.com address

第一种方式是,判断包含:

#encoding: utf-8

with open("test.txt", "r") as f:

content = f.readlines()

for line in content:

if "http" in line:

print(line)

输出为:

http://www.sogou.com

this is http://www.sogou.com address

如果只获取以http开头的,那么:

#encoding: utf-8

import re

with open("test.txt", "r") as f:

content = f.readlines()

for line in content:

r = re.match("http", line)

if r != None:

print(line)

输出为:

http://www.sogou.com

re.match, 从开头匹配字符串,如果匹配到返回匹配到的对象。没有匹配到返回None。

有没有更简单的方式呢?

#encoding: utf-8

with open("test.txt", "r") as f:

content = f.readlines()

for line in content:

if line.startswith("http"):

print(line)

同样输出为:

http://www.sogou.com

既然有startswith,那么有没有判断结尾的呢?

答案是当然的。

#encoding: utf-8

with open("test.txt", "r") as f:

content = f.readlines()

for line in content:

if line.replace("\n","").endswith("com"):

print(line)

这里要注意的是,每行结束会有一个换行符,因此要替换掉。

虽然从代码行数上,区别不是太大,但是从方法名称的理解上,startswith和endswith,更容易一些。

如果要匹配多个字符怎么办?

比如文本内容为:

http://www.sogou.com

this is a url

this is http://www.sogou.com address

ftp://www.sogou.com

#encoding: utf-8

with open("test.txt", "r") as f:

content = f.readlines()

for line in content:

if line.startswith(("http", "ftp")):

print(line)

只需要传参数为元组,包含要匹配的字串即可。



推荐阅读
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 在一对一直播源码使用过程中,有时会出现软键盘切换闪屏问题,就是当切换表情的时候屏幕会跳动,因此要对一对一直播源码表情面板无缝切换进行优化。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • SoIhavealoopthatrunsperfectforeventsandonlyshowsfutureposts.TheissueisthatIwould ... [详细]
  • 字符串匹配RabinKarp算法讲解
    问题描述:Rabin-Karp的预处理时间是O(m),匹配时间O((n-m1)m)既然与朴素算法的匹配时间一样,而且还多了一些预处理时间& ... [详细]
  • Python语言简介、环境搭建、PyCharm的安装和配置
    一、Python语言简介1.1Python语言的基本概念官方对Python语言的介绍如下:Python是一款易于学习且功能强大的编程语言。它具有高效率的数据结构,能够简单又有效地实 ... [详细]
  • 用lvm+vmware+kickstart实现系统自动安装和快照安装
    由于我的机子是32位,装不了64位系统,所以无法使用kvm,只能用vmware了,可是vmware安装使用自带的autoinst.iso实现自动安装,无法实现我的需求,经过研究我使用kic ... [详细]
  • 明明白白用Qt5.10编写FTP客户端
    使用Linux自带工具实现定时下载FTP文件(文末)前言自从Qt5删除了QFtp模块后,就没有了可方便使用的FTP类。根据官方的说法&# ... [详细]
  • linux 命令——screen
    最近遇到一个东西aria2,这个玩意,这个是啥呢?Aria2是一个轻量级Linux下载软件,支持HTTPHTTPS,FTP,SFTP,BitTorrent和磁力链接(官方版),公司 ... [详细]
  • linux ftp 线程数设置,Linux搭建ftp在windows下这么访问,需要怎么设置【设置vsftp最大连接数和每个ip的最大连接数】...
    文章来源:http:zhidao.baidu.comlink?urlLOfStD1kcxGhI_D5qC7oka3_4QZc1nn1SJwWaSd4onWoVl5Wt ... [详细]
  • 阿里云如何部署php(2023年最新分享)
    导读:很多朋友问到关于阿里云如何部署php的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • Windows下实用工具整理
    Windows下实用工具整理命令工具cmder支持tab标签、集成git、支持绝大UnixLinux命令。但是安装之后一般都会有以下几个问题:中文乱码问题、文字重叠问 ... [详细]
author-avatar
欢乐文艺女青年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有