python 如何获取页面所有a标签下href的值


Posted in Python onMay 06, 2021

看代码吧~

# -*- coding:utf-8 -*-
#python 2.7
#http://tieba.baidu.com/p/2460150866
#标签操作 
 
from bs4 import BeautifulSoup
import urllib.request
import re 
 
#如果是网址,可以用这个办法来读取网页
#html_doc = "http://tieba.baidu.com/p/2460150866"
#req = urllib.request.Request(html_doc)  
#webpage = urllib.request.urlopen(req)  
#html = webpage.read() 
 
html="""
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title" name="dromouse"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" rel="external nofollow"  rel="external nofollow"  class="sister" id="xiaodeng"><!-- Elsie --></a>,
<a href="http://example.com/lacie" rel="external nofollow"  rel="external nofollow"  class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" rel="external nofollow"  class="sister" id="link3">Tillie</a>;
<a href="http://example.com/lacie" rel="external nofollow"  rel="external nofollow"  class="sister" id="xiaodeng">Lacie</a>
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""
soup = BeautifulSoup(html, 'html.parser')   #文档对象 
 
#查找a标签,只会查找出一个a标签
#print(soup.a)#<a class="sister" href="http://example.com/elsie" rel="external nofollow"  rel="external nofollow"  id="xiaodeng"><!-- Elsie --></a>
 
for k in soup.find_all('a'):
    print(k)
    print(k['class'])#查a标签的class属性
    print(k['id'])#查a标签的id值
    print(k['href'])#查a标签的href值
    print(k.string)#查a标签的string

如果,标签<a>中含有其他标签,比如<em>..</em>,此时要提取<a>中的数据,需要用k.get_text()

soup = BeautifulSoup(html, 'html.parser')   #文档对象
#查找a标签,只会查找出一个a标签
for k in soup.find_all('a'):
    print(k)
    print(k['class'])#查a标签的class属性
    print(k['id'])#查a标签的id值
    print(k['href'])#查a标签的href值
    print(k.string)#查a标签的string

如果,标签<a>中含有其他标签,比如<em>..</em>,此时要提取<a>中的数据,需要用k.get_text()

通常我们使用下面这种模式也是能够处理的,下面的方法使用了get()。

html = urlopen(url)
 soup = BeautifulSoup(html, 'html.parser')
 t1 = soup.find_all('a')
 print t1
 href_list = []
 for t2 in t1:
    t3 = t2.get('href')
    href_list.append(t3)

补充:python爬虫获取任意页面的标签和属性(包括获取a标签的href属性)

看代码吧~

# coding=utf-8 
from bs4 import BeautifulSoup 
import requests 
# 定义一个获取url页面下label标签的attr属性的函数 
def getHtml(url, label, attr): 
    response = requests.get(url) 
    response.encoding = 'utf-8' 
    html = response.text 
    soup = BeautifulSoup(html, 'html.parser'); 
    for target in soup.find_all(label):
 
        try: 
            value = target.get(attr)
 
        except: 
            value = ''
 
        if value: 
            print(value)
 
url = 'https://baidu.com/' 
label = 'a' 
attr = 'href' 
getHtml(url, label, attr)

python 如何获取页面所有a标签下href的值

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
Python中单例模式总结
Feb 20 Python
numpy中的高维数组转置实例
Apr 17 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
Oct 11 Python
Opencv实现抠图背景图替换功能
May 21 Python
python求最大值最小值方法总结
Jun 25 Python
Python3进制之间的转换代码实例
Aug 24 Python
Python中*args和**kwargs的区别详解
Sep 17 Python
python如何操作mysql
Aug 17 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 Python
Python中常见的导入方式总结
May 06 #Python
Python基础之hashlib模块详解
May 06 #Python
用Python爬虫破解滑动验证码的案例解析
python本地文件服务器实例教程
python字符串常规操作大全
python自动化之如何利用allure生成测试报告
python使用openpyxl库读写Excel表格的方法(增删改查操作)
You might like
php中调用其他系统http接口的方法说明
2014/02/28 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
PHP创建XML接口示例
2019/07/04 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
python读取浮点数和读取文本文件示例
2014/05/06 Python
Python中用format函数格式化字符串的用法
2015/04/08 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
python中JWT用户认证的实现
2020/05/18 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
自我鉴定范文300字
2013/10/01 职场文书
大学生自荐信
2013/12/11 职场文书
大学生就业自荐书
2014/06/16 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
小学教师岗位职责
2015/04/02 职场文书
周一给客户的问候语
2015/11/10 职场文书