gpt4 book ai didi

python - 爬虫和 "hidden"链接

转载 作者:太空宇宙 更新时间:2023-11-04 10:31:02 25 4
gpt4 key购买 nike

我正在抓取这样一个网页 http://www.allocine.fr/film/fichefilm-215143/similaire/ .

我想为每部电影检索它的链接。所以我做了一个函数,它会做类似的事情:

    soup = BeautifulSoup(get_HTML_sim_movies(allocine_id), "html.parser")
allocine_ids_sim = []

sim_movie_links = soup.find_all("h2")
for sim_movie_html in sim_movie_links:
fiche_film = sim_movie_html.find('a').get('href').split("/")[2]

它适用于所有电影,因为它们都是以相同的方式构建的:

<h2 class="meta-title">
<strong>
<a class="meta-title-link" href="/film/fichefilm_gen_cfilm=193113.html">Captain America, le soldat de l&#039;hiver</a>
</strong>
</h2>

但最后一个有点不同,当我用我的浏览器检查元素标题而不是:class="meta-title-link"时,我有 class= “xXx 元标题链接”

当我抓取它或查看源代码时,链接消失并被替换为:data-ac="==L2ZpbG0vZmljaGVmaWxtX2dlbl9jZmlsbT0yMjY2NDQuaHRtbA=="

<h2 class="meta-title">
<strong>
<span class="meta-title-link" data-ac="==L2ZpbG0vZmljaGVmaWxtX2dlbl9jZmlsbT0yMjY2NDQuaHRtbA==">Avengers Confidential : La Veuve Noire et Le Punisher</span>
</strong>
</h2>

您知道如何获取链接以及为什么会这样吗?

最佳答案

它是 base64 格式:

data-ac="==L2ZpbG0vZmljaGVmaWxtX2dlbl9jZmlsbT0yMjY2NDQuaHRtbA=="

去除前两个字符 == 然后

import base64

base64.b64decode("L2ZpbG0vZmljaGVmaWxtX2dlbl9jZmlsbT0yMjY2NDQuaHRtbA==")

它将解码为 /film/fichefilm_gen_cfilm=226644.html

关于python - 爬虫和 "hidden"链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36495859/

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