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实现的二维码生成小软件
Jul 11 Python
Python字符串和文件操作常用函数分析
Apr 08 Python
Python编程中的文件操作攻略
Oct 16 Python
python实现用户管理系统
Jan 10 Python
用十张图详解TensorFlow数据读取机制(附代码)
Feb 06 Python
python 为什么说eval要慎用
Mar 26 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
python数据类型强制转换实例详解
Jun 22 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
Python django中如何使用restful框架
Jun 23 Python
Python中常见的导入方式总结
May 06 #Python
Python基础之hashlib模块详解
May 06 #Python
用Python爬虫破解滑动验证码的案例解析
python本地文件服务器实例教程
python字符串常规操作大全
python自动化之如何利用allure生成测试报告
python使用openpyxl库读写Excel表格的方法(增删改查操作)
You might like
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
csdn 批量接受好友邀请
2009/02/19 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
Python上下文管理器和with块详解
2017/09/09 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
python配置文件写入过程详解
2019/10/19 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
如何把python项目部署到linux服务器
2020/08/26 Python
编写python代码实现简单抽奖器
2020/10/20 Python
python编程的核心知识点总结
2021/02/08 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
快餐店的创业计划书范文
2014/01/29 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
公司授权委托书范本
2014/09/18 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
论文评审意见
2015/06/05 职场文书
幼儿园见习总结
2015/06/23 职场文书
奠基仪式致辞
2015/07/30 职场文书
Python打包为exe详细教程
2021/05/18 Python
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android