码迷,mamicode.com
首页 > 编程语言 > 详细

python 页面信息抓取

时间:2015-07-09 14:39:44      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:python   网页信息提取   bs4   

1. 特点

  在python 解析html这篇文章中已经做了初步的介绍,接下来再坐进一步的说明。python抓取页面信息有以下两个特点:
  

  • 依赖于HTML的架构。

  • 微小的变化可能会导致抓取失败,这取决于你编码的技巧。


2. 抓取示例

  首先看一下百度视频网页的源代码,大致浏览下,选定要抓取的网页元素。
  技术分享
  
  假设我们要对div标签id为focusCarouselList里的相关内容进行提取。首先进入python命令行环境,先按照以下代码打开网页并读取内容。
  

>>>
>>> import urllib
>>> from bs4 import BeautifulSoup
>>>
>>> httpRespone = urllib.urlopen(“http://video.baidu.com“)
>>>
>>> httpRespone.code
200
>>>

  将页面信息读入到html的一个变量中:html = httpRespone.read()
  使用BeautifulSoup解析这个页面:bs = BeautifulSoup(html,"lxml")
  查找id为ocusCarouselList的div标签:focusList = bs.find(‘div‘,id=‘focusCarouselList‘)
  
  技术分享
  
  在focusList中查找这一div中所有的超链接:allLinks = focusList.find_all(‘a‘)
  可用allLinks[0]直接访问第一个链接的内容:
  技术分享
  
  如果要在这些超链接中查找标题为“协警押送嫌犯遭其同伙袭击”,可用下面代码:
  videoLink1 = bs.find(‘a‘,{‘title‘:‘协警押送嫌犯遭其同伙袭击‘})
  技术分享
  
  videoLink1[‘href’]可以直接获取到链接的地址。
  
  查找所有图片的标签:imgLinks = focusList.find_all(‘img‘)
  获取某个图片链接的源地址:imgLinks[0][‘src‘]
  技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

python 页面信息抓取

标签:python   网页信息提取   bs4   

原文地址:http://blog.csdn.net/jeanphorn/article/details/46815205

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!