PHP前端开发

Python使用四种方法实现获取当前页面内所有链接的对比分析

百变鹏仔 3小时前 #Python
文章标签 四种

这篇文章主要介绍了python获取当前页面内所有链接的方法,结合实例形式对比分析了python常用的四种获取页面链接的方法,并附带了iframe框架内链接的获取方法,需要的朋友可以参考下

本文实例讲述了Python获取当前页面内所有链接的四种方法。分享给大家供大家参考,具体如下:


'''得到当前页面所有连接'''import requestsimport refrom bs4 import BeautifulSoupfrom lxml import etreefrom selenium import webdriverurl = 'http://www.testweb.com'r = requests.get(url)r.encoding = 'gb2312'# 利用 re (太黄太暴力!)matchs = re.findall(r"(?<p><strong>注意:若页面中含有 iframe,则 iframe 内所包含页面的所有标签都无法用以上四种方法获得!!!此时则要:</strong></p><p class="jb51code"><br></p><pre class="brush:py;"># 再打开所有iframe查找全部的a标签for iframe in soup.find_all('iframe'):  url_ifr = iframe['src'] # 取得当前iframe的src属性值   rr = requests.get(url_ifr)  rr.encoding = 'gb2312'  soup_ifr = BeautifulSoup(rr.text,'lxml')  for a in soup_ifr.find_all('a'):    link = a['href']    m = re.match(r'http://.*?(?=/)',link)    #print(link)    if m:      all_urls.add(m.group(0))