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 '-------------------------------------------------------------------------'
  • 相关阅读:
    Vue + better-scroll 入门教程
    Vue + Vant 实现顶部关键字搜索栏
    JS实现函数节流方法
    AngularJS服务及注入--Provider
    入门Webpack,看这篇就够了
    Vue.js中ref ($refs)用法举例总结
    从0开始做一个的Vue图片/ 文件选择(上传)组件[基础向]
    gulp自动化部署:gulp发布express项目(二)
    webstorm添加调试nodejs
    web window pixel等笔记
  • 原文地址:https://www.cnblogs.com/adolfmc/p/8685946.html
Copyright © 2011-2022 走看看