<span class="attrs"> <a href="/celebrity/1350410/" rel="v:directedBy">闫非</a> <a href="/celebrity/1350409/" rel="v:directedBy">彭大魔</a> </span>如何通过selenium获取以上代码中的文本
时间: 2023-08-14 17:39:42 浏览: 159
可以通过以下代码使用 Selenium 爬取这段代码中的文本:
```python
from selenium import webdriver
# 创建浏览器对象
driver = webdriver.Chrome()
# 访问页面
driver.get("http://example.com")
# 找到 span 标签
span = driver.find_element_by_xpath("//span[@class='attrs']")
# 获取 span 标签内的所有链接
links = span.find_elements_by_tag_name("a")
# 遍历链接,获取链接文本
for link in links:
text = link.text
print(text)
# 关闭浏览器
driver.quit()
```
其中,`xpath` 参数可以根据具体的页面结构进行修改,以定位到需要的 span 标签。`find_elements_by_tag_name` 方法可以获取标签内的所有链接,遍历链接即可获取链接文本。以上代码输出的结果应该是:
```
闫非
彭大魔
```
相关问题
<div id="info"> <span><span class="pl">导演</span>: <span class="attrs"><a href="/celebrity/1023040/" rel="v:directedBy">陈凯歌</a> / <a href="/celebrity/1007152/" rel="v:directedBy">徐克</a> / <a href="/celebrity/1275075/" rel="v:directedBy">林超贤</a></span></span><br> <span><span class="pl">编剧</span>: <span class="attrs"><a href="/celebrity/1275188/">兰晓龙</a> / <a href="/celebrity/1019896/">黄建新</a></span></span><br> <span class="actor"><span class="pl">主演</span>: <span class="attrs"><span><a href="/celebrity/1000525/" rel="v:starring">吴京</a> / </span><span><a href="/celebrity/1340022/" rel="v:starring">易烊千玺</a> / </span><span><a href="/celebrity/1274291/" rel="v:starring">段奕宏</a> / </span><span><a href="/celebrity/1312699/" rel="v:starring">朱亚文</a> / </span><span><a href="/celebrity/1274252/" rel="v:starring">李晨</a> </div> 解释这段代码
这段代码是一个 HTML 页面中的一部分,它包含了电影的导演、编剧和主演等信息。这些信息都被包含在一个带有 id 属性值为 "info" 的 div 元素中。
在 div 元素中,使用了多个 span 元素来标记不同的信息。其中,每个 span 元素都有一个 class 属性来指定它们的样式。
在第一个 span 元素中,包含了所有导演的名字,并使用链接来指向它们的个人主页。而在第二个 span 元素中,包含了所有编剧的名字。
最后一个 span 元素使用了一个 class 属性值为 "actor",用于标记主演信息。在这个 span 元素中,每个主演都被包含在一个单独的 span 元素中,并使用链接来指向他们的个人主页。
<span class="attrs"><a href="/celebrity/1047973/" rel="v:directedBy">弗兰克·德拉邦特</a></span>请使用正则
正则表达式是一种强大的文本匹配工具,可以用来从字符串中提取特定的信息。在这个例子中,你想要使用正则表达式来提取电影导演的名字。下面是一个使用正则表达式提取导演名字的示例代码:
```python
import re
# 假设你已经获取到了包含导演名字的字符串
director_string = '<span class="attrs"><a href="/celebrity/1047973/" rel="v:directedBy">弗兰克·德拉邦特</a></span>'
# 使用正则表达式提取导演名字
director_name = re.search(r'<a href="/celebrity/\d+/" rel="v:directedBy">(.*?)</a>', director_string).group(1)
print(director_name) # 输出:弗兰克·德拉邦特
```
在上面的代码中,我们使用了`re.search()`函数来搜索符合正则表达式模式的字符串。正则表达式模式`<a href="/celebrity/\d+/" rel="v:directedBy">(.*?)</a>`用于匹配包含导演名字的字符串。`.*?`表示非贪婪匹配,即尽可能少地匹配字符。`group(1)`用于获取匹配到的第一个分组,即导演名字。
阅读全文