【发布时间】:2020-11-07 18:31:22
【问题描述】:
我有一个包含在“图片”中的图片网址列表。我试图从这些图片 url 中分离出标题,以便我可以在 html 上显示图片(使用整个 url)和相应的标题。
到目前为止,我有这个:
titles = [image[149:199].strip() for image in images]
这给了我以下格式的剥离标题(我提供了两个示例来显示模式)
le_Art_Project.jpg/220px- Rembrandt_van_Rijn_-自画像-_Google_Art_Project.jpg
和
cene_of_the_Prodigal_Son_-Google_Art_Project.jpg/220px-Rembrandt-Rembrandt_and_Saskia_in_the_Scene_of_the_Prodigal_Son-_Google_Art_Project.jpg
粗体(上图)中的位是我要删除的位。从一开始我想删除 before 220px 和结束的所有内容:_-_Google_Art_Project.jpg
python 的新手,我在语法上苦苦挣扎,此外,当我在引用图像(列表)循环时这样做时,字符串操作并不简单,我不确定如何处理这个问题。
整个代码供参考如下:
webscraper.py:
@app.route('/') #this is what we type into our browser to go to pages. we create these using routes
@app.route('/home')
def home():
images=imagescrape()
titles=[image[99:247].strip() for image in images]
images_titles=zip(images,titles)
return render_template('home.html',images=images,images_titles=images_titles)
我已经尝试过/正在尝试:
x = txt.strip("_-_Google_Art_Project.jpg")
查看 strip - 删除不需要的字符串的最后一部分。
我不确定如何将它与删除我想要删除的前导字符串结合起来,并且考虑到我已经拥有的结构/代码,我也以最优雅的方式这样做。
从视觉上看,我正在尝试删除突出显示的前导文本,以及字符串的最后一部分 _-_Google_Art_Project.jpg。。 p>
显示的 HTML 视觉效果:
更新:
基于下面的答案 - 这非常有帮助但不能完全解决它,我正在尝试这种方法(如果可能,不使用取消引用导入和纯 python 字符串操作)
def titleextract(url):
#return unquote(url[58:url.rindex("/",58)-8].replace('_',''))
title=url[58:]
return title
以上,返回:
Rembrandt_van_Rijn_-_Self-Portrait_-_Google_Art_Project.jpg/220pxRembrandt_van_Rijn_-_Self-Portrait_-_Google_Art_Project.jpg
但我想要:
Rembrandt_van_Rijn_-_自画像
或列表中的第二个标题/图像:
Rembrandt_van_Rijn_-_Saskia_van_Uylenburgh%2C_the_Wife_of_the_Artist_-_Google_Art_Project.jpg/220px-Rembrandt_van_Rijn_-_Saskia_van_Uylenburgh%2C_the_Wife_of_the_Artist_-_Google_Art_Project.jpg
我想要:
Rembrandt_van_Rijn_-_Saskia_van_Uylenburgh%2C_the_Wife_of_the_Artist
【问题讨论】:
-
如果您提供输入的完整示例(例如,作为实际格式化的源代码)和预期输出(再次,作为格式化的实际源代码),将会非常有帮助。
-
那么,所有字符串总是以
"_-_Google_Art_Project.jpg"结尾吗?请注意,.strip不会像您期望的那样工作,它不会去除子字符串,它实际上只是考虑您传递给参数的所有字符的集合 -
请在问题本身中提供格式化文本。不要让我编写代码只是为了重新创建您的示例。
-
您提供了指向外部网站的链接。在问题本身中提供一个完全包含的示例。您有一堆与您的实际问题无关的第三方依赖项。这不是minimal reproducible example。
-
我认为他的问题是存在的,但远非明确。请成为更好的人......很好地告诉他写最少的问题,他可以并且可能将来会这样做。 @MissComputing 看看stackoverflow.com/help/minimal-reproducible-example