要统计网址个数,你可以使用Python中的正则表达式和`collections`模块中的`Counter`类。以下是一个简单的步骤和示例代码:
1. 导入必要的模块:
```python
from collections import Counter
import re
2. 定义一个函数来读取文件并提取网址:
```python
def read_file(file_name):
url_list = []
with open(file_name, 'r') as f:
for line in f:
if re.match(r'^https?:\/\//', line): 正则匹配http或https开头的行
url_list.append(line.strip()) 去除行尾的换行符
return url_list
3. 使用`Counter`来统计每个网址出现的次数:
```python
def count_urls(url_list):
return Counter(url_list)
4. 排序并打印结果:
```python
def print_sorted_urls(counter):
for url, count in counter.most_common():
print(f'{url}: {count}')
5. 将以上函数组合使用:
```python
def main(file_name):
urls = read_file(file_name)
url_counts = count_urls(urls)
print_sorted_urls(url_counts)
6. 调用`main`函数并传入包含网址的文件名:
```python
if __name__ == '__main__':
file_name = 'url.txt' 假设你的网址列表保存在这个文件中
main(file_name)
以上代码会读取指定文件中的网址,统计它们出现的次数,并按次数降序排序输出结果。请确保你的文件路径正确,并且文件中的网址格式正确。