修改抓取的 url 并更改其扩展名

害羞的

我是编程新手,并尝试从网站下载图像和 PDF。在源代码中,我需要的项目在带有部分 url 的选项标签中。该站点在下拉菜单中列出了这些项目,它们显示在 iframe 中,但每个项目都可以使用其完整 url 在自己的页面上打开。

到目前为止,我的代码找到了选项,将部分 url 附加到页面的基地址以创建每个选项的完整 url,并从 .tif 和 .TIF url 中删除最后的“/”并添加一个“.pdf”。

但是,对于 .tif 和 .TIF 网址,我需要将“转换”更改为“pdf”以在新页面中打开它们。有没有办法只对 .tif.pdf 和 .TIF.pdf 网址执行此操作,而其他网址保持不变?

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
import os

my_url = 'http://example.com'
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()

page_soup = soup(page_html, "html.parser")

options = page_soup.findAll("select",{"id":"images"})[0].findAll("option")
values = [o.get("value") for o in options]

split_values = [i.split("|", 1)[0] for i in values]
# The option value is split to separate the url from its label
# <option value="/convert/ASRIMG/new/hop.TIF/|New Form"></option>

new_val = []
for val in split_values:
    ext = os.path.splitext(val.rstrip('/'))[-1]
    new_ext = ext
    if ext.lower() == '.tif':
        new_ext += '.pdf'
    new_val.append(val.rstrip('/').replace(ext, new_ext))

for i in range (len(new_val)):
    image_urls = ('http://example.com' + new_val[i])

我目前的结果:

print (new_val)

/ASRIMG/good.jpg
/ASRIMG/foo/bar1.jpg
/ASRIMG/foo/bar2.jpg
/ASRIMG/foo/bar3.jpg
/convert/ASRIMG/new/hop.TIF.pdf
/convert/REG/green1.tif.pdf
/convert/REG//green2.tif.pdf
/convert/SHIP/green3.tif.pdf
/convert/SHIP/green4.tif.pdf
/convert/SHIP/green5.tif.pdf
/SKETCHIMG/001.png
/SKETCH/002.JPG


print (image_urls)

http://example.com/ASRIMG/good.jpg
http://example.com/ASRIMG/foo/bar1.jpg
http://example.com/ASRIMG/foo/bar2.jpg
http://example.com/ASRIMG/foo/bar3.jpg
http://example.com/convert/ASRIMG/new/hop.TIF.pdf
http://example.com/convert/REG/green1.tif.pdf
http://example.com/convert/REG//green2.tif.pdf
http://example.com/convert/SHIP/green3.tif.pdf
http://example.com/convert/SHIP/green4.tif.pdf
http://example.com/convert/SHIP/green5.tif.pdf
http://example.com/SKETCHIMG/001.png
http://example.com/SKETCH/002.JPG

我需要的:

http://example.com/ASRIMG/good.jpg
http://example.com/ASRIMG/foo/bar1.jpg
http://example.com/ASRIMG/foo/bar2.jpg
http://example.com/ASRIMG/foo/bar3.jpg
http://example.com/pdf/ASRIMG/new/hop.TIF.pdf
http://example.com/pdf/REG/green1.tif.pdf
http://example.com/pdf/REG//green2.tif.pdf
http://example.com/pdf/SHIP/green3.tif.pdf
http://example.com/pdf/SHIP/green4.tif.pdf
http://example.com/pdf/SHIP/green5.tif.pdf
http://example.com/SKETCHIMG/001.png
http://example.com/SKETCH/002.JPG
阿米特·特里帕蒂

在这一步之后:

split_values = [i.split("|", 1)[0] for i in values]

此代码处理上下 tif:

In [48]: import os

In [49]: split_values = ['/ASRIMG/good.jpg', '/convert/ASRIMG/new/hop.TIF/', 'SK
    ...: ETCHIMG/001.png']

In [50]: new_val = []

In [51]: for val in split_values:
    ...:     ext = os.path.splitext(val.rstrip('/'))[-1]
    ...:     new_ext = ext
    ...:     if ext.lower() == '.tif':
    ...:         new_ext += '.pdf'
    ...:     new_val.append(val.rstrip('/').replace(ext, new_ext))
    ...:
    ...:

.tif/从右侧的 split_values 列表中删除每个值,然后.tif.pdf在最后添加

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何向其抓取的文件添加文件扩展名

来自分类Dev

隐藏.jsp扩展名或更改URL上的显示名称

来自分类Dev

修改我的.htaccess文件以从URL隐藏.php扩展名后,无法找到某些目录项

来自分类Dev

当其 URL 不包含文件扩展名时,如何使用 Nodejs 下载图像?

来自分类Dev

我们如何下载图像,当其 URL 不包含文件扩展名并上传带有文件扩展名的图像

来自分类Dev

如何修改gnome扩展名

来自分类Dev

用pdf扩展名重写URL

来自分类Dev

没有扩展名的PHP URL

来自分类Dev

识别URL的文件扩展名

来自分类Dev

用pdf扩展名重写URL

来自分类Dev

从 URL 中删除文件扩展名

来自分类Dev

如果URL后面带有Querystring,则使用javascript更改文件扩展名

来自分类Dev

使用URL重写从URL中删除.aspx扩展名

来自分类Dev

Azure URL 重写任何没有扩展名的 URL

来自分类Dev

从URL删除文件扩展名和文件名

来自分类Dev

提取具有扩展名URL的文件名

来自分类Dev

修改chrome扩展名并且不破坏扩展名

来自分类Dev

如何使用 .htaccess 隐藏扩展名并阻止用户使用扩展名 url 访问?

来自分类Dev

抓取URL参数以使用jQuery或javascript修改选择表单

来自分类Dev

在firefox的about:config中修改扩展名CSS

来自分类Dev

PostgreSQL-修改扩展名中的CREATE TABLE语法

来自分类Dev

修改带有Chrome扩展名的按钮文字

来自分类Dev

如何根据扩展名修改数组

来自分类Dev

.htaccess-重写URL以删除扩展名并传递参数

来自分类Dev

htaccess重写不带.php扩展名的URL到文件

来自分类Dev

URL中的.mpl扩展名:Perl相关技术?

来自分类Dev

.mvc和无扩展名URL的MVC路由

来自分类Dev

OmniFaces无扩展名URL和登录重定向

来自分类Dev

隐藏URL扩展名:重写vs重定向

Related 相关文章

热门标签

归档