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操作mysql代码总结

Python读取文件名称生成list的方法

Python中pass语句意义与作用(实例分析)

Python怎么生成时间戳

Python怎么新建项目

Python表达式怎么写

Python点对点简单实现

Python写完程序怎么运行

Python调用c# com dll组件的过程详解

读懂Python的异常机制

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




打赏

取消

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

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

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

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

评论

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