#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 '-------------------------------------------------------------------------'

使用 BeautifulSoup 进行解析 html的更多相关文章

  1. [Python]BeautifulSoup—HTML解析包

    在用Python写爬虫时,一个常见的操作是对抓下的HTML做分析处理,得到想要的内容.一般的方法为使用Python的re库中.用正則表達式来解析文本.只是这样的方法适用于全部的文本.而针对于特定格式的 ...

  2. Beautifulsoup网页解析——爬取豆瓣排行榜分类接口

    我们在网页爬取的过程中,会通过requests成功的获取到所需要的信息,而且,在返回的网页信息中,也是通过HTML代码的形式进行展示的.HTML代码都是通过固定的标签组合来实现页面信息的展示,所以,最 ...

  3. Python学习 - 使用BeautifulSoup来解析网页一:基础入门

    写技术博客主要就是总结和交流的,如果文章用错,请指正啊! 以前一直在使用SGMLParser,这个太费时间和精力了,现在为了毕业设计,改用BeautifulSoup来实现HTML页面的解析工作的. 一 ...

  4. Python HTML解析器BeautifulSoup(爬虫解析器)

    BeautifulSoup简介 我们知道,Python拥有出色的内置HTML解析器模块——HTMLParser,然而还有一个功能更为强大的HTML或XML解析工具——BeautifulSoup(美味的 ...

  5. 爬虫模块介绍--Beautifulsoup (解析库模块,正则)

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时 ...

  6. 【Python爬虫】BeautifulSoup网页解析库

    BeautifulSoup 网页解析库 阅读目录 初识Beautiful Soup Beautiful Soup库的4种解析器 Beautiful Soup类的基本元素 基本使用 标签选择器 节点操作 ...

  7. 在python使用selenium获取动态网页信息并用BeautifulSoup进行解析--动态网页爬虫

    爬虫抓取数据时有些数据是动态数据,例如是用js动态加载的,使用普通的urllib2 抓取数据是找不到相关数据的,这是爬虫初学者在使用的过程中,最容易发生的情况,明明在浏览器里有相应的信息,但是在pyt ...

  8. 使用BeautifulSoup高效解析网页,再也不用担心睡不着觉了

    BeautifulSoup是一个可以从 HTML 或 XML 文件中提取数据的 Python 库 那需要怎么使用呢? 首先我们要安装一下这个库 1.pip install beautifulsoup4 ...

  9. python BeautifulSoup html解析

    * BeautifulSoup 的.find(), .findAll() 函数原型 findAll(tag, attributes, recursive, text, limit, keywords) ...

随机推荐

  1. 性能测试二十七:环境部署之Dubbo原理

    Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成. Dubbo是框架,并不是像http那种传输协议 传统 ...

  2. [转] 可跨域的单点登录(SSO)实现方案

    SSO简介 定义: 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源(url)时判断当前session是否 ...

  3. [转]硬盘的那些事(主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区、引导扇区、MBR等)

    http://xu3stones.blog.163.com/blog/static/205957136201210309424303 主分区,扩展分区,逻辑分区,活动分区,系统分区,启动分区..... ...

  4. python全栈开发day29-网络编程之socket常见方法,socketserver模块,ftp作业

    一.昨日内容回顾 1.arp协议含义 2.子网,子网掩码 3.两台电脑在网络中怎么通信的? 4.tcp和udp socket编码 5.tcp和udp协议的区别 6.tcp三次握手和四次挥手,syn洪攻 ...

  5. 今天刚学到truncate和delete的区别,做个总结吧

    truncate table : 删除内容,释放空间(表中数据会被删除,但不会进入oracle回收站,直接删除),不删除定义 delete table : 删除内容,不释放空间(表中数据虽被删除,但是 ...

  6. HDU1789 Doing Homework again 做作业【贪心】

    题目链接:https://vjudge.net/problem/HDU-1789 题目大意: 给出N个作业的截至日期,和N个作业不交所扣掉的分数,要求输出扣除分数做少的方案. 解析: 与上一道销售商品 ...

  7. docker使用dockerfile 构建redis镜像

    FROM redis WORKDIR /data VOLUME /data EXPOSE RUN echo "success---------success" ENTRYPOINT ...

  8. Android应用开发-Activity

    Android四大组件:Activity,Service,Broadcast Receiver,Content Provider Activity是Context的子类,同时实现了Window.Cal ...

  9. android monitor 汉化 ddms

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com android.jar\com\androi ...

  10. loj#2038. 「SHOI2015」超能粒子炮・改

    题目链接 loj#2038. 「SHOI2015」超能粒子炮・改 题解 卢卡斯定理 之后对于%p分类 剩下的是个子问题递归 n,k小于p的S可以预处理,C可以卢卡斯算 代码 #include<c ...