zoukankan      html  css  js  c++  java
  • 使用 BeautifulSoup 进行解析 html

    #coding=utf-8

     
    import urllib2
    import socket
    import httplib
    from bs4 import BeautifulSoup
     
    UserAgent = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36'
     
    def downloadPage(url):
     
      try:
         
        opener = urllib2.build_opener()
         
        headers = 'User-Agent': UserAgent }
         
        req = urllib2.Request(url = url, headers = headers)
         
        resp = opener.open(req, timeout = 30)
        result = resp.read()
     
        return result
           
      except urllib2.HTTPError, ex:
        print ex
        return ''
      except urllib2.URLError, ex:
        print ex
        return ''
      except socket.error, ex:
        print ex
        return ''
      except httplib.BadStatusLine, ex:
        print ex
        return ''
     
     
    if __name__ == '__main__':
     
    content = downloadPage("这填douban的地址")
     
    #print content
     
    soap = BeautifulSoup(content, 'lxml')
     
    lst = soap.select('ol.grid_view li')
     
    for item in lst:
        # 电影详情页链接
        print item.select('div.item > div.pic a')[0].attrs['href']
     
        # 图片链接
        print item.select('div.item > div.pic a img')[0].attrs['src']
     
        # 标题
        print item.select('div.item > div.info > div.hd > a > span.title')[0].get_text()
     
        # 评分
        print item.select('div.item > div.info > div.bd > div.star > span.rating_num')[0].get_text()
        print '-------------------------------------------------------------------------'
  • 相关阅读:
    系统重启
    Linux驱动程序开发
    Linux 下实现控制屏幕显示信息和光标的状态
    Linux C 语言 获取系统时间信息
    linux 获取系统屏幕分辨率
    Linux下得到显示屏参数的方法
    Linux如何关闭防火墙和查看防火墙的具体情况
    查看Linux下网卡状态或 是否连接(转)
    ArcGIS Engine中正确释放打开资源
    在ArcEngine下实现图层属性过滤的两种方法
  • 原文地址:https://www.cnblogs.com/adolfmc/p/8685946.html
Copyright © 2011-2022 走看看