鱼C论坛

 找回密码
 立即注册
查看: 2710|回复: 6

正则表达式不会写

[复制链接]
发表于 2018-12-9 14:36:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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

各位大神帮忙看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-9 15:58:43 | 显示全部楼层
不会写就要去学习正则表达式,即使告诉你这一次也没有用。个人觉得正则除了多练习,没有其他捷径。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-9 17:34:54 | 显示全部楼层
凌九霄 发表于 2018-12-9 15:58
不会写就要去学习正则表达式,即使告诉你这一次也没有用。个人觉得正则除了多练习,没有其他捷径。

好的,确实得好好看一下,这个还是比较难的。这个代码能否先帮忙更正一下?谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-9 18:42:35 | 显示全部楼层
BigSmall 发表于 2018-12-9 17:34
好的,确实得好好看一下,这个还是比较难的。这个代码能否先帮忙更正一下?谢谢

tieba代码变了,从你提供的网址进去,没看见id="dlg_pi_img" 的块
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-9 20:18:17 | 显示全部楼层
凌九霄 发表于 2018-12-9 18:42
tieba代码变了,从你提供的网址进去,没看见id="dlg_pi_img" 的块


难道是图片的地址就找错了?
微信截图_20181209201514.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-11 14:55:47 From FishC Mobile | 显示全部楼层
正则这玩意,只能熟悉规则后去练习,没有什么一套正则套用进一个网站就能爬的,就算告诉你这个网站的正则怎么写,那过段时间搞不好人家网站改版了,结构变了,这套正则就不能用了,还是要学会灵活运用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-11 17:30:57 | 显示全部楼层
BigSmall 发表于 2018-12-9 20:18
难道是图片的地址就找错了?

去network里可以找到图片的请求头
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-23 07:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表