正则表达式不会写
本帖最后由 BigSmall 于 2018-12-9 14:48 编辑import urllib.request as req
import re
wangye='http://dq.tieba.com/p/4879271427#!/l/p1'
wangyeneirong=req.urlopen(wangye)
wangyeneirongjiema=wangyeneirong.read().decode('utf-8')
p=r'<img id="dlg_pi_img" src="([^"]+\.jpg)"'
pic_dizhi=re.findall(p,wangyeneirongjiema)
print(pic_dizhi)
i=1
for each in pic_dizhi:
pic_wangyeneirong=req.urlopen(each)
pic_erjinzhi=pic_wangyeneirong.read()
with open (str(i)+'.jpg','wb') as f:
f.write(pic_erjinzhi)
i+=1
if i==4:
break
不太会写正则表达式,这个时照着小甲鱼的视频写的,但是匹配不到照片的网址
网站
http://dq.tieba.com/p/4879271427#!/l/p1
各位大神帮忙看看
不会写就要去学习正则表达式,即使告诉你这一次也没有用。个人觉得正则除了多练习,没有其他捷径。 凌九霄 发表于 2018-12-9 15:58
不会写就要去学习正则表达式,即使告诉你这一次也没有用。个人觉得正则除了多练习,没有其他捷径。
好的,确实得好好看一下,这个还是比较难的。这个代码能否先帮忙更正一下?谢谢 BigSmall 发表于 2018-12-9 17:34
好的,确实得好好看一下,这个还是比较难的。这个代码能否先帮忙更正一下?谢谢
tieba代码变了,从你提供的网址进去,没看见id="dlg_pi_img" 的块 凌九霄 发表于 2018-12-9 18:42
tieba代码变了,从你提供的网址进去,没看见id="dlg_pi_img" 的块
难道是图片的地址就找错了? 正则这玩意,只能熟悉规则后去练习,没有什么一套正则套用进一个网站就能爬的,就算告诉你这个网站的正则怎么写,那过段时间搞不好人家网站改版了,结构变了,这套正则就不能用了,还是要学会灵活运用 BigSmall 发表于 2018-12-9 20:18
难道是图片的地址就找错了?
去network里可以找到图片的请求头
页:
[1]