gpt4 book ai didi

python - 无法使用搜索关键字解析网页中的某些信息

转载 作者:太空宇宙 更新时间:2023-11-03 23:53:35 25 4
gpt4 key购买 nike

我创建了一个脚本来解析与网站上某些歌曲相关的一些信息。当我尝试使用 this linkthis one ,我的脚本完美运行。我能理解的是,当我在这部分 https://www.billboard.com/music/ 之后附加我的搜索关键字时,我得到了包含信息的所需页面。

但是,当我尝试使用这些关键字 1 Of The GirlsAl B. Sure!Ashford & Simpson 和等等。

我不知道如何在基本链接 https://www.billboard.com/music/ 之后附加上述关键字来定位包含信息的页面。

我试过的脚本:

import requests
from bs4 import BeautifulSoup

LINK = "https://www.billboard.com/music/Adele"

res = requests.get(LINK)
soup = BeautifulSoup(res.text,"lxml")
scores = [item.text for item in soup.select("[class$='-history__stats'] > p > span")]
print(scores)

我得到的结果(如预期的那样):

['4 No. 1 Hits', '6 Top 10 Hits', '13 Songs']

位于该页面的结果就在图表历史之后,如下所示:

enter image description here

如何使用关键搜索关键字从网页中获取一些信息?

最佳答案

我不知道所有的用例,但我在提到的案例中看到的明显模式是特殊字符被剥离(不在其位置留下空格),单词是小写的,然后空格被替换为“-” .棘手的一点可能是特殊字符的定义和处理。

例如

https://www.billboard.com/music/ashford-simpson

https://www.billboard.com/music/al-b-sure

https://www.billboard.com/music/1-of-the-girls

您可以先编写一些东西来执行这些字符串操作,然后测试响应代码。或许看看 js 文件中是否有任何形式的验证。

编辑:

单词之间的多个空格在被“-”替换之前变成一个空格?

与@Mithu 一起开发的答案,用于准备搜索词:

import re
keywords = ["Y?N-Vee","Ashford & Simpson","Al B. Sure!","1 Of The Girls"]
spec_char = ["!","#","$","%","&","'","(",")","*","+",",",".","/",":",";","<","=",">","?","@","[","]","^","_","`","{","|","}","~",'"',"\\"]

for elem in keywords:
refined_keywords = re.sub('-+','-' , ''.join(i.replace(" ","-") for i in elem.lower() if i not in spec_char))
print(refined_keywords)

关于python - 无法使用搜索关键字解析网页中的某些信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58564042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com