zoukankan      html  css  js  c++  java
  • BeautifulSoup初识

    本来想用scrapy框架来抓取某个网站的内容,结果发现太庞大,要很多时间来研究。另外,抓取网页的代码部署在SAE上,所以不明白该如何将scrapy框架嵌入到SAE。

    所幸要取得网页内容不是很复杂,就直接用urllib2来获取内容。

    但是取出的内容要如何处理,如何才能找到所需要的内容。从网上搜索发现可以用HtmlParser或者BeautifulSoup来获取,经过尝试之后果断放弃HtmlParser。

    BeautifulSoup:

       python中的Beautiful是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。

      下载地址:http://www.crummy.com/software/BeautifulSoup/

      下载完成之后,提取文件中的bs4文件夹。拷贝到所需的文件夹路径下。

      具体使用文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/

      现在来说说我的使用方法:

      假定需要解析url的代码如下:

      

    import urllib2
    from bs4 import BeautifulSoup
    
    
    def catch_url( url ):
      content = urllib2.urlopen( url )
      soup = BeautifulSoup( content )
      return soup

      然后,使用BeautifulSoup来解析一下京东的主页:

    def parse360buyContent( content ):
      beauParse = BeautifulSoup( content )
    
      soup = beauParse.findAll('div',{'id':'life'})
      data = []
      
      for con in soup:
        text = con.a['href']
        data.append({'text':text})
      
      
      return data

    可以看到,解析出的结果是一个list,通过for来取出每一个条目。如果需要取出此条目中的<a href="www.360buy.com/products/xxxx">,只要将a做为属性来取出,而href则需要按字典

    类型来取出。

      由于用到的地方就这一点,所以未作深入研究,只是做为后续一个可查询的纪录。 

      

  • 相关阅读:
    面向对象的静态属性和静态方法
    面向对象魔术方法及类的自动加载
    面向对象
    mysql cmd 创表查表练习
    创建表 查询表以及添加数据
    windows cmd命令
    4.20 mysq数据库 创建表
    cmd控制数据库初步了解
    Jquery初步了解
    故宫博物院项目 JS功能整理
  • 原文地址:https://www.cnblogs.com/bracken/p/2858824.html
Copyright © 2011-2022 走看看