python 用自定义函数获取所有超链接

Python017

python 用自定义函数获取所有超链接,第1张

正则匹配

import re

html = '''<h3>contact us</h3>

<p>contact: manager wang</p>

<p>telephone:12345666</p>

<div id="nav">

<ul>

<li><a class="nav-first" href="/">homepage</a></li>

<li><a href="/lista.php">111</a></li> 

<li><a href="/lista.php">222</a></li>

<li><a href="/order/setorder.php">333</a></li>

<li><a href="/what/cool/ista.php">444</a></li>

</ul>

</div>'''

urls = re.findall('href=.*?>', html)  # 正则出a链接 href

urlList = []  # 定义urlList

for url in urls:

    url = url.replace("href=\"", '')  # 替换href="

    urlList.append(url[:-2])  # 获取的0到-2长度的字符串

print(urlList)

输出:

['/', '/lista.php', '/lista.php', '/order/setorder.php', '/what/cool/ista.php']

excel表格中如何添加超链接呢?下面小编来教大家。

开启分步阅读模式

操作方法

01

首先,我们打开我们电脑上面的excel,然后选中一个单元格,之后我们右击选择超链接;

02

弹出的界面,我们点击本文档中的位置;

03

然后我们点击Sheet3;

04

之后我们就可以点击确定按钮了;

05

最终结果如图所示,这样我们就设置好超链接了,当我们点击此单元格就会跳转到Sheet3中去。

提取所有链接应该用循环:

urls = driver.find_elements_by_xpath("//a")

for url in urls:

    print(url.get_attribute("href"))

如果get_attribute方法报错应该是没有找到a标签对象,如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间;另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。