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


本文摘自php中文网,作者黄舟,侵删。

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

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


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

'''

得到当前页面所有连接

'''

import requests

import re

from bs4 import BeautifulSoup

from lxml import etree

from selenium import webdriver

url = 'http://www.testweb.com'

r = requests.get(url)

r.encoding = 'gb2312'

# 利用 re (太黄太暴力!)

matchs = re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" , r.text)

for link in matchs:

  print(link)

print()

# 利用 BeautifulSoup4 (DOM树)

soup = BeautifulSoup(r.text,'lxml')

for a in soup.find_all('a'):

  link = a['href']

  print(link)

print()

# 利用 lxml.etree (XPath)

tree = etree.HTML(r.text)

for link in tree.xpath("//@href"):

  print(link)

print()

# 利用selenium(要开浏览器!)

driver = webdriver.Firefox()

driver.get(url)

for link in driver.find_elements_by_tag_name("a"):

  print(link.get_attribute("href"))

driver.close()

注意:若页面中含有 iframe,则 iframe 内所包含页面的所有标签都无法用以上四种方法获得!!!此时则要:


阅读剩余部分

相关阅读 >>

Python是干什么的

Python列表和元组的相同点和不同点是什么

Python开发安卓app可行吗

Python中导入模块中的对象有哪几种方式

Python实现数据导出到excel的示例

Python怎么输出图片

Python继承是什么

Python函数重写怎么理解

Python全栈指的是什么

关于Python 下划线使用场景

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...