[英]Get span text from a website using selenium
我要抓取的網站如下所示:
<div align="center" class="movietable">
<span style="width:45px;height:47px;vertical-align:middle;display:table-cell;">
<a href="browse.php?cat=19"><img border="0" src="styles/images/cat/hd.png" alt="HdO"></a>
</span>
</div>
<div align="left" class="movietable">
<span style="padding:0px 5px;width:455px;height:47px;vertical-align:middle;display:table-cell;">
<a data-toggle="tooltip" data-placement="bottom" data-html="true" title="" href="details.php?id=578197" data-original-title="<img src='https://trasd.tmdb.org//tqistSlQGQVlvDZHweD.jpg'>">
<b>GET THIS TEXT</b></a><br><font class="small">[Action, Horror, Sci-Fi]</font>
</span>
</div>
我如何提取:
<b>
標記中的文本-在這種情況下,請GET THIS TEXT
此文GET THIS TEXT
font_class ='small'的內容-在這種情況下,它將是Action, Horror, Sci-Fi
.movietable b很棒!!
img_scr鏈接-在這種情況下為https://trasd.tmdb.org//tqistSlQGQVlvDZHweD.jpg
我沒有想法如何做到這一點
以下是您可以使用的CSS選擇器:
driver.find_element_by_css_selector('div[align=left] b')
driver.find_element_by_css_selector('div[align=left] .small')
driver.find_element_by_css_selector('a[title]').get_attribute('data-original-title')
您可以使用xpath訪問所有這些文件:
1) [parents before this div]/div[2]/span/a/b
2) [parents before this div]/div[2]/span/font
3) [parents before this div]/div[1]/span/a/img
[parents before this div] should be /html/body/...
根據您共享以提取項目的HTML ,可以使用以下解決方案:
獲取此文本 :
driver.find_element_by_xpath("//div[@class='movietable' and @align='left']/span/a[@data-toggle='tooltip' and @data-placement='bottom']/b").get_attribute("innerHTML")
[動作,恐怖,科幻] :
driver.find_element_by_xpath("//div[@class='movietable' and @align='left']/span//font[@class='small']").get_attribute("innerHTML")
https://trasd.tmdb.org//tqistSlQGQVlvDZHweD.jpg :
img_src = driver.find_element_by_xpath("//div[@class='movietable' and @align='left']/span/a[@data-toggle='tooltip' and @data-placement='bottom']").get_attribute("data-original-title") src = img_src.replace("'", "-").split("-") print(src[1])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.