python3でchromeとxpathを使用して、 "href"属性の値を抽出しようとしましたon this web page。 「HREF」は属性。私が興味を持っています(フランス語で「BANDE-annonce」)の映画の予告編へのリンクが含まれていxref(python3)を使用してhref属性を空にしました
はまず最初に、XPathを使用して、「」タグがあることが表示されます"span"タグ。実際には、このコードを使用:
[<Element span at 0x111f70c08>]
だから「DIV」タグがない「」タグが、単に「スパン」のタグが含まれていません:
response_main=urllib.request.urlopen("http://www.allocine.fr/film/fichefilm_gen_cfilm=231874.html")
htmlparser = etree.HTMLParser()
tree_main = etree.parse(response_main, htmlparser)
tree_main.xpath('//*[@id=\"content-start\"]/article/section[3]/div[2]/div/div/div/div[1]/*')
私はこの結果を得ます。私は、ブラウザでのHTMLの視覚化が、必ずしもサーバによって送信された「実際の」HTMLを反映するとは限らないことを読んだ。したがって、私は、HREFを抽出するために、このコマンドを使用しようとしました:私は、このコマンドで「スパン」タグ内の属性をチェックするとき
response_main=urllib.request.urlopen("http://www.allocine.fr/film/fichefilm_gen_cfilm=231874.html")
htmlparser = etree.HTMLParser()
tree_main = etree.parse(response_main, htmlparser)
tree_main.xpath('//*[@id=\"content-start\"]/article/section[3]/div[2]/div/div/div/div[1]/span/@href')
残念ながら、これは何も返しません...そして:
tree_main.xpath('//*[@id=\"content-start\"]/article/section[3]/div[2]/div/div/div/div[1]/span/@*')
私はここで何が起こっているか理解するためのいくつかの助けが欲しい
['ACrL3ZACrpZGVvL3BsYXllcl9nZW5fY21lZGlhPTE5NTYwMDcyJmNmaWxtPTIzMTg3NC5odG1s meta-title-link']
:私は「class」属性の値を得たが、「HREF」について何も...。なぜ "a"タグが "span"タグなのですか?そして私にとって最も重要な質問は、 "href"属性の値をどのように抽出できますか?
おかげであなたの助けのためにたくさん!
感謝を。そこで、セレン3.3.1とクロムドライバー2.24.1をアナコンダに追加しました。 – user1671537
それはあなたのために働くかいくつかの問題がありますか? – Andersson
最後に1つの質問!このコマンドを使用するたびに、drive = web.chrome()、クロムブラウザが開きます。あなたはhrefの印刷後にそれを閉じる方法を知っていますか? (コマンドラインで) このコマンドを何度も使用すると問題になることがあります。 – user1671537