@myles
        
        2018-12-20T12:52:22.000000Z
        字数 1814
        阅读 762
    未分类
soup.select() 方法主要配合 “css selector 路径信息”进行tag标签信息的提取,在结合tag标签方法进行具体“信息”的提取。
| 序号 | tag方法 | 提取内容 | 
|---|---|---|
| 1 | tag.get_text() | 进行标签中的字符串提取; | 
| 2 | tag.get('attr') | 依据属性名进行属性值的提取,如tag.get('src')进行链接信息提取; | 
| 3 | tag.stripped_strings | 进行标签中多之标签信息的提取 | 
# coding:utf-8from bs4 import BeautifulSoup'''使用google浏览器 ---》“检查” -> “copy” -> “Copy Selector” 定位标签的层叠描述位置路径;images: body > div.main-content > ul > li:nth-child(1) > imgtitles: body > div.main-content > ul > li:nth-child(1) > div.article-info > h3 > acates: body > div.main-content > ul > li:nth-child(1) > div.article-info > p.meta-info > span:nth-child(1)rates: body > div.main-content > ul > li:nth-child(1) > div.rate > spandescs: body > div.main-content > ul > li:nth-child(1) > div.article-info > p.description注意:路径信息定位时,注意从父路径进行“所有子标签”信息的全部提取...'''# 1、解析源码文件为字符串对象with open('new_index.html','r') as f:html_text = f.read()# 2、解析字符串对象为“html文档结构”对象soup = BeautifulSoup(html_text,'lxml')# 3、使用html文档结构对象 “select 方法” 配合 “层叠样式路径” 进行数据标签tag信息提取images = soup.select('body > div.main-content > ul > li > img')titles = soup.select('body > div.main-content > ul > li > div.article-info > h3 > a')cates = soup.select('body > div.main-content > ul > li > div.article-info > p.meta-info')rates = soup.select('body > div.main-content > ul > li > div.rate > span')descs = soup.select('div.main-content > ul > li > div.article-info > p.description')# print(cates)# print(images,titles,cates,rates,descs,sep='\n**************************\n')# 使用tag标签方法 get_text() & get('attr_name') 获 “取字符串描述” 与 “图片链接”;# 学习 zip() 方法使用;info =[]for image,title,cate,rate,desc in zip(images,titles,cates,rates,descs):data = {'title':title.get_text(),'rate' :rate.get_text(),'desc' :desc.get_text(),# 'cate' :cate.get_text(),'cate' :list(cate.stripped_strings),'image':image.get('src')}# print(data ,'\n********************************\n')info.append(data)for x in info:if float(x['rate']) > 3.0 :print(x['title'],x['cate'])
tags 标签信息提取与收集