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 '-------------------------------------------------------------------------'
  • 相关阅读:
    SpringBoot(五)-- 整合Spring的拦截器
    SpringBoot(四)-- 整合Servlet、Filter、Listener
    SpringBoot(三)-- 整合FreeMarker模板
    XML转JSON工具类
    SpringBoot(二)-- 支持JSP
    SpringBoot(一)-- 知识点介绍
    导出Excel工具类
    Linux CentOS6.5上搭建环境遇到的问题
    网络环境未能通过安全验证,请稍候再试
    Struts2,Spring,Hibernate框架的优缺点
  • 原文地址:https://www.cnblogs.com/adolfmc/p/8685946.html
Copyright © 2011-2022 走看看