如何只从Python3中的列表中检索链接? [初学者]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何只从Python3中的列表中检索链接? [初学者]相关的知识,希望对你有一定的参考价值。

我在python3上有这样的列表:

https://textuploader.com/15dra

从这个文件我想创建一个新的列表,只列出其他列表中的逗号分隔的逗号并包含在双引号(“)中,如果可能的话,还过滤所有包含”i.redd.it“的URL

这是代码,如果它有帮助:

from bs4 import BeautifulSoup
import requests
import re
import urllib.request
import urllib3

http = urllib3.PoolManager()

url = "https://reddit.com/r/me_irl"
response = http.request('GET', url)
soup = BeautifulSoup(response.data, "lxml")
tags = soup.find_all('a')
hrefs = []
for t in tags:
    hrefs.append(t)

print(hrefs)
答案

你可以做一个列表理解。我还要包括这一行:

tags = soup.find_all('a', href=True)

因为你只想要带有网址的标签

from bs4 import BeautifulSoup
import requests
import re
import urllib.request
import urllib3

http = urllib3.PoolManager()

url = "https://reddit.com/r/me_irl"
response = http.request('GET', url)
soup = BeautifulSoup(response.data, "lxml")
tags = soup.find_all('a', href=True)

hrefs = [ ele['href'] for ele in tags if 'i.redd.it' in ele['href']]

但是,这将返回一个空列表,因为那里没有包含'i.redd.it'的href

但是,如果你想要网址,你可以摆脱if声明,或者如果你愿意,可以改变它:

 hrefs = [ ele['href'] for ele in tags ]

以上是关于如何只从Python3中的列表中检索链接? [初学者]的主要内容,如果未能解决你的问题,请参考以下文章

从db查询中检索数据以获取复选框列表

如何解决棱镜中的子选择/关系(嵌套列表)

xpath 通过ID和Class检索

如何从较大列表中的特定列表中检索特定值?

借助模型构造函数,如何在 Spring Boot 中进行查询

如何从firebase颤振中的文档中检索列表?