Python将行()水平拆分为列表

2024-10-02 04:33:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个密码:

url = requests.get('https://sneakernews.com/release-dates/').text
soup = BeautifulSoup(url, 'html.parser')

tags = soup.find_all('div', {'class': 'col lg-2 sm-3 popular-releases-box'})

for tag in tags:
    link = tag.find('a').get('href')
    tag1 = str(tag.text)
    tag2 = tag1.splitlines()
    print(tag2)
    if link == 'javascript:void(0);':
        link = 'Link not available'

我有这个输出:

['March  ', 'OFF WHITE x Nike Air VaporMax']
['04.12  ', 'Nike Air VaporMax 97 "Silver Bullet"']
['April  ', 'adidas Yeezy Desert Rat 500 "Blush"']
['05.15  ', 'ACRONYM x Nike Air VaporMax MOC 2']

上面的输出是两个垂直的列表,我试图使每一行的水平列表。你知道吗


Tags: texturl密码列表gettagtagslink
1条回答
网友
1楼 · 发布于 2024-10-02 04:33:42

使用两个list comprehensions^{}可以这样做:

代码:

the_tags = [[x.strip() for x in tag.text.splitlines()] for tag in tags]
result = [x for x in zip(*the_tags)]

测试代码:

import requests
from bs4 import BeautifulSoup

url = requests.get('https://sneakernews.com/release-dates/').text
soup = BeautifulSoup(url, 'html.parser')

tags = soup.find_all('div', {'class': 'col lg-2 sm-3 popular-releases-box'})

the_tags = [[x.strip() for x in tag.text.splitlines()] for tag in tags]
print([x for x in zip(*the_tags)])

结果:

[('March', '04.12', 'April', '05.15'), 
 ('OFF WHITE x Nike Air VaporMax', 'Nike Air VaporMax 97 "Silver Bullet"', 
  'adidas Yeezy Desert Rat 500 "Blush"', 'ACRONYM x Nike Air VaporMax MOC 2'
 )
]

相关问题 更多 >

    热门问题