【发布时间】:2017-02-27 05:56:07
【问题描述】:
给定 url='http://normanpd.normanok.gov/content/daily-activity',该网站有逮捕、事件和案件摘要三种类型。我被要求使用正则表达式来发现 Python 中所有 Incidents pdf 文档的 URL 字符串。
PDF 将下载到指定位置。
我浏览了链接,发现事件 pdf 文件 URL 的形式为:
normanpd.normanok.gov/filebrowser_download/657/2017-02-19%20Daily%20Incident%20Summary.pdf
我已经写了代码:
import urllib.request
url="http://normanpd.normanok.gov/content/daily-activity"
response = urllib.request.urlopen(url)
data = response.read() # a `bytes` object
text = data.decode('utf-8')
urls=re.findall(r'(\w|/|-/%)+\sIncident\s(%|\w)+\.pdf$',text)
但在 URL 列表中,值是空的。 我是 python3 和正则表达式命令的初学者。谁能帮帮我?
【问题讨论】:
-
您的正则表达式中有事件,但字符串中没有。有this site帮助python模式,
-
如果使用
%20转义空格,如果您正在寻找空格,您希望如何找到该字符串? -
我不精通python中的正则表达式我在互联网上阅读了一些内容后编写了正则表达式。我认为 (%|\w)+ 将涵盖介于两者之间的所有 %20 类型。
标签: regex python-3.x web-scraping