加入索引以生成单个s

2024-10-03 13:27:44 发布

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

我已经在python脚本中编写了一个选择器,它能够根据索引从网页中获取电影名称。我只想知道两部电影的名字(我再说一遍,两部电影),不管是1、2、3、4还是15、16等等。基本上我的意图是把两个索引连接起来,形成一个单独的选择器?在本例中,我使用了两个索引0和1来创建一个带有“+”运算符的选择器,并将其连接起来。我相信应该有更聪明的方法来做同样的事情。更具体地说,请参见以下示例:

import requests ; from bs4 import BeautifulSoup

soup = BeautifulSoup(requests.get("https://yts.ag/browse-movies").text,'html.parser')
movie = soup.select(".browse-movie-title")[0].text + soup.select(".browse-movie-title")[1].text
print(movie) 

结果如下:

它在夜间出现

编辑:

为了澄清我在下面所说的:

类似列表的结果:

['Mindhorn', 'Dead Again in Tombstone']

换行结果:

Mindhorn
Dead Again in Tombstone

预期产量:

Mindhorn Dead Again in Tombstone

Tags: textinimport电影选择器movierequestsselect
1条回答
网友
1楼 · 发布于 2024-10-03 13:27:44

使用列表理解,您可以获得n第一部电影的标题: 你知道吗

movies = [m.text for m in soup.select(".browse-movie-title")][:n]

如果需要,可以将结果打印到不同的行中: 你知道吗

print('\n'.join(movies))

编辑:显然,ulsoup不支持一些CSS伪类,如nth-child,否则您可以限制查询中的子节点数。作为记录,这个选择器在Chrome控制台上工作: 你知道吗

section .row .browse-movie-wrap:nth-child(-n+2)

相关问题 更多 >