在昨天我们建立了模型,并可使用管理网站手动增加书籍与作者的资料。
但回顾 Day10所列的需求,实际使用情境上,使用者只需输入网址,系统需判断是否为可支援网站,并自动抓取书名和作者等资讯。
预计使用技术如下:
故在继续Django挑战前,今天将先进行正则表示式的练习,以便後续网站开发使用。
正则表示式的比对写法:
import re
regex = re.compile(r'正则表示式')
target = "欲比对的内容"
result = regex.search(target)
大部分找到的教学网站的写法,主要流程都是先将正则表示式进行compile(),後续使用complie产生的物件做search(),但今天刚好看到一篇分享,里面提到其实re模组提供的许多函式中都已包含compile(),故统一事先宣告compile()其实是资源的浪费。
故今天练习的完整程序如下:
import re
# 正则表示式:比对网址pattern,并抓取novelid
regex = r'https?:\/\/www\.jjwxc\.net\/onebook\.php\?novelid=(\d+)'
urlgroup = ( "http://www.jjwxc.net/onebook.php?novelid=3415053",
"http://www.google.com"
)
for url in urlgroup:
result = re.search(regex, url)
if result is None:
print("Not Match! URL:" + url)
else:
print("Match!")
print("Group():" + result.group())
print("Group(1):" + result.group(1))
输出结果:
Match!
Group():http://www.jjwxc.net/onebook.php?novelid=3415053
Group(1):3415053
Not Match! URL:http://www.google.com
<<: 【没钱买ps,PyQt自己写】Day 9 - 以 QLineEdit, QTextEdit, QPlainTextEdit 作为文字的输入
>>: 我们的基因体时代-AI, Data和生物资讯 Day24- 使用tidyverse观念来分析基因资料:plyranges
如标题,这篇想教大家如果安装ubuntu的时候,按不到下方的继续键怎麽办 因为Linux的预设解析度...
为什麽你需要 Next.js ? 对於工程师来说选择用什麽样的技术,背後都是取决於商业策略需要什麽...
什麽是变化,我们在变化什麽? 当涉及到更改时,至关重要的是定义什麽是更改并阐明我们正在更改的内容。...
在Day 20有稍微提到中断机制,我们稍微深入说明一下,中断其实也是种不浪费资源的方式,如果处理器一...
首先,在开始一个好的设计之前, 如同广告投放一般, 我们需要找出目标受众来设计出更符合他们的对话流程...