使用urllib将获取的数据保存在特定结构化格式的文件中

时间:2016-05-22 21:01:25

标签: python file python-3.x urllib

我想知道是否有办法用特定的结构化格式将html保存在我的文件中。现在这个脚本的输出只是字母和数字。有没有办法可以组织?例如:111.111.111.11:111 222.222.222.22:22(IP格式)

任何帮助表示赞赏!

import urllib.request
import re

ans = True

while ans:
    print("""
      - Menu Selection -
      1. Automatic 
      2. Automatic w/Checker
      3. Manual
      4. Add to list
      5. Exit
      """)
ans = input('Select Option : ')

if ans =="1":
    try :
       with urllib.request.urlopen('http://www.mywebsite.net') as response: 
         html = response.read()
         html = str(html)
         html = re.sub(r'([a-z][A-Z])', '', html)
         f = open('text.txt','a')
         f.write(html)
         f.close()
         print('Data(1) saved.')
         ans = True
    except :
        print('Error on first fetch.')    

1 个答案:

答案 0 :(得分:1)

根据问题 -

如果样本输入是 -

输入 - fdsfdsfdsf123.123.123.123:123fdds125.125.125.125:125fdsfdfdsfdsfsdf

输出 - 123.123.123.123:123(换行符)125.125.125.125:125

如果html是输入字符串 -

filtered_alpha = re.sub('[^0-9\.:]','\n', html)
multiple_ips = filter(None, filtered_alpha.split("\n"))
print "\n".join(multiple_ips)

这将为您提供预期的输出。

如果你是专门寻找ip_addresses,你可以参考他提到的@MarkByers here的帖子 -

ip = re.findall( r'[0-9]+(?:\.[0-9]+){3}', html)