python程序设计 第三版 中文高清pdf版 (John Zelle) 下载
import urllib from urllib import request from bs4 import BeautifulSoup import re
#获取页面
base_url = "http://www.3qphp.com/php/index.html" urlb = urllib.request.urlopen(base_url) cent = urlb.read()
#html.parser器,进行解析
soup = BeautifulSoup(cent,"html.parser")
#通过正则获取静态格式的a标签
slink = soup.find_all("a",href=re.compile(r"\/php\/(.+?)\/(\d+).html"))
#获取下标为0的a标签的所有属性
#print(slink[0].attrs)
#执行结果:{'href': '/php/phpjch/198.html', 'class': ['thumbnail']}
#输出所有a标签(超链)
for link in slink: print(link)
结果:
<a class="thumbnail" href="/php/phpjch/198.html"><img alt="php 疑难问题1:本地文件缓存txt不完整" src="/d/file/content/2017/05/5913d2c519e6d.jpg"/></a>
<a href="/php/phpjch/198.html" title="php 疑难问题1:本地文件缓存txt不完整">php 疑难问题1:本地文件缓存txt不完整</a>
<a class="thumbnail" href="/php/phpjch/195.html"><img alt="php redis 多维数组操作" src="/statics/themes/d8/images/thumbnail.png"/></a>
<a href="/php/phpjch/195.html" title="php redis 多维数组操作">php redis 多维数组操作</a>
#输出a标签(超链)中没有class属性的
for link in slink: if 'class' not in link.attrs: print(link)
结果:
<a href="/php/phpjch/198.html" title="php 疑难问题1:本地文件缓存txt不完整">php 疑难问题1:本地文件缓存txt不完整</a>
<a href="/php/phpjch/195.html" title="php redis 多维数组操作">php redis 多维数组操作</a>
转载请注明:谷谷点程序 » Python3 BeautifulSoup模块(2) : 获取没有class标签且herf为静态格式的a标签(超链)