首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >爬虫与“隐藏”链接

爬虫与“隐藏”链接
EN

Stack Overflow用户
提问于 2016-04-08 09:16:23
回答 1查看 584关注 0票数 0

我在爬一个像http://www.allocine.fr/film/fichefilm-215143/similaire/这样的网页。

我想为每部电影检索它的链接。所以我做了一个函数来做这样的事情:

代码语言:javascript
复制
    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]

它对所有的电影都很好,因为它们都是以相同的方式构建的:

代码语言:javascript
复制
<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 meta-title-link"

当我抓取它或查看源代码时,链接就消失了,代之以:data-ac="==L2ZpbG0vZmljaGVmaWxtX2dlbl9jZmlsbT0yMjY2NDQuaHRtbA=="

代码语言:javascript
复制
<h2 class="meta-title">
    <strong>
        <span class="meta-title-link" data-ac="==L2ZpbG0vZmljaGVmaWxtX2dlbl9jZmlsbT0yMjY2NDQuaHRtbA==">Avengers Confidential : La Veuve Noire et Le Punisher</span>
    </strong>
</h2>

你知道如何获得链接以及为什么会发生这种情况吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-08 09:57:51

它采用base64格式:

代码语言:javascript
复制
data-ac="==L2ZpbG0vZmljaGVmaWxtX2dlbl9jZmlsbT0yMjY2NDQuaHRtbA=="

然后去掉前两个字符==

代码语言:javascript
复制
import base64

base64.b64decode("L2ZpbG0vZmljaGVmaWxtX2dlbl9jZmlsbT0yMjY2NDQuaHRtbA==")

它会把它解码成/film/fichefilm_gen_cfilm=226644.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36495859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档