【问题标题】:Get span text from a website using selenium使用 selenium 从网站获取跨度文本
【发布时间】:2019-01-29 03:04:54
【问题描述】:

我要抓取的网站如下所示:

<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>

如何提取:

  1. &lt;b&gt; 标记中的文本 - 在本例中为 GET THIS TEXT
  2. font_class= 'small' 的内容 - 在本例中为 Action, Horror, Sci-Fi
    .movi​​etable b 效果很好!!

  3. img_scr 链接 - 在本例中为 https://trasd.tmdb.org//tqistSlQGQVlvDZHweD.jpg

我不知道该怎么做

【问题讨论】:

  • 请分享您的代码 sn-p 以了解您迄今为止尝试过的内容以及遇到的任何异常情况。

标签: python selenium web-scraping automation


【解决方案1】:

以下是您可以使用的 CSS 选择器:

  1. driver.find_element_by_css_selector('div[align=left] b')
  2. driver.find_element_by_css_selector('div[align=left] .small')
  3. driver.find_element_by_css_selector('a[title]').get_attribute('data-original-title')

【讨论】:

  • 谢谢卢卡斯!没有 3 的任何提示?
【解决方案2】:

您可以使用 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/...

【讨论】:

    【解决方案3】:

    根据您共享的 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])
      

    【讨论】:

      猜你喜欢
      • 2013-01-13
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 1970-01-01
      • 2021-01-18
      • 2016-11-07
      • 2017-11-09
      • 2021-09-23
      相关资源
      最近更新 更多