import requests import re url = 'http://www.jd.com/'
#url='http://www.eastmoney.com/' r=requests.get(url) r.encoding='utf-8' data=re.findall('<title>(.*?)</title>',r.text,re.S) print(data)
['京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!']
['东方财富网:财经门户,提供专业的财经、股票、行情、证券、基金、理财、银行、保险、信托、期货、黄金、股吧、博客等各类财经资讯及数据']
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
import
re
# 提取python
key
=
"javapythonc++php"
re.findall(
"python"
, key)[
0
]
"""
python
"""
# 提取出hello world
key
=
"<html><h1>hello world</h1></html>"
re.findall(
'<h1>hello world</h1>'
, key)
"""
['<h1>hello world</h1>']
"""
# 提取170
string
=
"我喜欢身高为170的女孩"
# re.findall("170", string)[0]
re.findall(
'\d+'
, string)
"""
['170']
"""
# 提取出http://和https://
key
=
'http://www.baidu.com and https://boob.com'
re.findall(
'https{0,1}'
, key)
# {}前的字符出现0次或1次
"""
['http', 'https']
"""
# 提取出hit.
re.findall(
"h.*\."
, key)
# .表示任意字符(\n除外);*表示匹配0个或多个;\表示对.转义
"""
['hit.edu.']
"""
# 贪婪模式:根据正则表达式尽可能多地提取数据。
# 切换为非贪婪模式,加一个"?"
re.findall(
"h.*?\."
, key)
"""
['hit.']
"""
# 匹配sas和saas
key
=
"saas and sas and saaas"
re.findall(
'sa{1,2}s'
, key)
# 匹配1-2次由前面表达式定义的片段
"""
['saas', 'sas']
"""
# 匹配i开头的行 re.S:基于单行匹配 re.M:基于多行匹配
string
=
'''fall in love with you
i love you very much
i love she
i love her'''
re.findall(
"^i.*"
, string, re.M)
"""
['i love you very much', 'i love she', 'i love her']
"""
# 匹配所有的行
string
=
"""<div>静夜思
床前明月光
疑是地上霜
举头望明月
低头思故乡
</div>"""
re.findall(
'<div>.*</div>'
, string, re.S)
"""
['<div>静夜思\n床前明月光\n疑是地上霜\n举头望明月\n低头思故乡\n</div>']
"""
|