|
|
20鱼币
本帖最后由 宝贝归来 于 2016-5-15 13:11 编辑
在Python 正则表达式的视频里,可以用(?P:<name>)给组命名,
而且还可以用 m. group('name') 来查看组
但是我这个程序就是报错,无法调用!
这个程序是用来获取 ip 和 端口号 的,我想把正则表达式里面获取 ip 的组命名为 <ip>, 把获取端口号的组命名为 <kou> ,并在后面使用 group('ip','kou')来查看获取到的内容。
程序代码(获取ip 端口号 kou)
- import urllib.request
- import re # 正则表达式 模块
- def open_url(url): # 网页打开读取
- W1 = urllib.request.Request(url)
- W1.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER')
- W2 = urllib.request.urlopen(W1)
- W3 = W2.read().decode('utf-8')
- return W3
- def get_ip(W3): # 在网页找ip
- p = re.compile(r'''(?P<ip>((\d?\d?\d)[.]){3}(\d?\d?\d)) # 匹配ip
- ([^"]*)
- (?P<kou>\d?\d?\d?\d) # 匹配端口号 kou
- ''',re.X)
- m = p.findall(W3)
- print(m.group('ip','kou'))
-
- if __name__ == '__main__':
- url = 'http://www.xicidaili.com/'
- get_ip(open_url(url))
复制代码
报错内容
- >>>
- Traceback (most recent call last):
- File "C:\Users\Administrator\Desktop\060-3-(下载IP列表-高匿).py", line 28, in <module>
- get_img(open_url(url))
- File "C:\Users\Administrator\Desktop\060-3-(下载IP列表-高匿).py", line 19, in get_img
- print(m.group('ip','kou'))
- AttributeError: 'list' object has no attribute 'group'
- >>>
复制代码
卡在这里好久了,始终研究不出来。
希望大神能帮忙修改一下程序!
|
最佳答案
查看完整内容
撸主把问题想复杂了,没必要一次就找出所有要的信息,
先找出高匿的
至于2位数字与4位数字用 \d+ 就可以 默认是贪婪模式
我不是大神
|