0
我正在抓取像這樣的一個網頁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'hiver</a>
</strong>
</h2>
但最後一個是有點不同當我檢查我的瀏覽器中的元素,而不是標題爲:class="meta-title-link"
,我有class="xXx meta-title-link"
當我爬它還是看看源代碼的鏈接消失,是取代: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>
您知道如何獲取鏈接以及爲何發生這種情況?
爲什麼使用這樣的事情吧? – mel
這是他們的應用程序設計,而我在這裏觀察到的是自定義屬性** data-ac **在那裏的任何地方,其中包含錨信息和頁面加載JavaScript解析這些數據並準備onfly標籤。你可以通過瀏覽器查看。 - 可能是混淆爬行者的原因。 – kakurala