练习爬取本地网页数据

练习本地,还是自己写的,没什么含量,但还是需要记录下

爬取图片,标题,标签,内容,分数

Snip20161225_4.png
//各自的Copy_selector如下
图片:body > div.main-content > ul > li:nth-child(1) > img
标题:body > div.main-content > ul > li:nth-child(1) > div.article-info > h3 > a
内容:body > div.main-content > ul > li:nth-child(1) > div.article-info > p.description
分数:body > div.main-content > ul > li:nth-child(1) > div.rate > span
标签:body > div.main-content > ul > li:nth-child(2) > div.article-info > p.meta-info > span:nth-child(2)

代码如下:

#导入BeautifulSoup库
from  bs4 import BeautifulSoup
#空数组
dataArray = [ ]
#解析本地网页
with open('/Users/wangyi/代码练习/Python/解析网页中的元素/web/new_index.html','r') as we_data:    
  Soup = BeautifulSoup(we_data,'lxml')    
#打印解析是否成功
# print(Soup)    

# 图片    
images = Soup.select('body > div.main-content > ul > li > img')    
# 标题    
titles = Soup.select('body > div.main-content > ul > li > div.article-info > h3 > a')    

# 内容    
contents = Soup.select('body > div.main-content > ul > li > div.article-info > p.description')    
# 分数    
fractions = Soup.select('body > div.main-content > ul > li > div.rate > span')    
# 标签    
labels = Soup.select('body > div.main-content > ul > li > div.article-info > p.meta-info')    
#打印抓取到的数据
#print(images,titles,contents,fractions,labels,sep='\n=========\n')

#遍历添加到data字典里
for image,title,content,fraction,label in zip(images,titles,contents,fractions,labels):        
  data = {            
    'image' : image.get('src'),            
    'title' : title.get_text(),            
    'content' : content.get_text(),            
    'label': list(label.stripped_strings),            
    'fraction' : fraction.get_text()        
  }        
  #添加到数组中
  dataArray.append(data)    
#遍历数组
for i in dataArray:        
  #获取大于3的文章
  if float(i['fraction']) > 3:    
    #打印文章标题和内容        
    print(i['title'],'======',i['content'])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,795评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,286评论 19 139
  • 文/等等 好久不见。 四个字,说出来,是温暖里又带了点惆怅的吧。 某一天,某一个地方,擦身而过,谁会是那个对你说“...
    等等z阅读 1,007评论 2 13
  • 刚刚看了一篇文章,写的是那个十六岁就生孩子的女生过得怎么样了,让我一下就感慨了起来。大概十六岁的时候,我们也想那个...
    惜利姐阅读 430评论 0 0