大家好,我是皮皮。
一、前言
前几天在Python钻石群【空】问了一个Python
网络爬虫的问题,一起来看看吧。下面是他的代码。
mport re
html='''
< img src="//www.chinadaily.com.cn/image_e/2017/logo.png" alt="chinadaily" />
</a >
</div>
<div class="fl-right">
<a href="//cn.chinadaily.com.cn" target="_top" shape="rect">< img src="//www.chinadaily.com.cn/image_e/2017/cnbut.png" />
'''
# print(html)
reg=r"<img. src="
m=re.search(reg,html)
print(m)
a=m.end()
# print(a)
s=html[a:]
# print(s)
n=re.search(r"". "",s)
# print(n)
b=n.end()
# print(b)
src=s[:b]
print(src)
二、实现过程
后来【瑜亮老师】给了一个建议,代码如下所示:
代码语言:javascript复制import re
html = '''
< img src="//www.chinadaily.com.cn/image_e/2017/logo.png" alt="chinadaily" />
</a >
</div>
<div class="fl-right">
<a href="//cn.chinadaily.com.cn" target="_top" shape="rect">< img src="//www.chinadaily.com.cn/image_e/2017/cnbut.png" />
'''
reg = r'< img src="//(.*?)"'
m = re.findall(reg, html)
print(m)
这样就可以获取所有的图片地址,顺利地解决了粉丝的问题。
后来还给了一个具体的爬虫代码,如下所示:
代码语言:javascript复制url="http://www.chinadaily.com.cn/"
html = requests.get(url).text
reg = r'img src="//(.*?)"'
img = re.findall(reg, html)
for i in img:
i = "http://" i
if 'jpeg_w642' in i:
i = i.replace('.jpeg_w642', '.jpeg')
resp = requests.get(i).content
with open(i.split('/')[-1], 'wb') as f:
f.write(resp)
这样就可以抓取到对应的图片了,非常完美。
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个Python
网络爬虫中正则表达式的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【空】提问,感谢【瑜亮老师】给出的思路和代码解析,感谢【莫生气】等人参与学习交流。