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]直接訪问第一个链接的内容:

  

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="link0" title="">

  

  如果要在这些超链接中查找标题为“协警押送嫌犯遭其同伙突击”,可用下面代码:

  videoLink1 = bs.find('a',{'title':'协警押送嫌犯遭其同伙突击'})

  

  

  videoLink1[‘href’]能够直接获取到链接的地址。

  

  查找全部图片的标签:imgLinks = focusList.find_all('img')

  获取某个图片链接的源地址:imgLinks[0]['src']

  

python 页面信息抓取的更多相关文章

  1. 网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)

    转自原文 网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp) 最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决 ...

  2. 爬虫技术 -- 进阶学习(十)网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)

    最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/Scrapy ...

  3. 网易新闻页面信息抓取 -- htmlagilitypack搭配scrapysharp

    最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/Scrapy ...

  4. Python学习之静态页面数据抓取

    1 页面信息抓取 定义getPage函数,根据传入的页码get到整个页面的html内容 getContent函数,通过正则匹配把页面中的表格部分的html内容取出 最后定义getData函数,同样是通 ...

  5. Python爬虫实战---抓取图书馆借阅信息

    Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...

  6. Ajax异步信息抓取方式

    淘女郎模特信息抓取教程 源码地址: cnsimo/mmtao 网址:https://0x9.me/xrh6z   判断一个页面是不是Ajax加载的方法: 查看网页源代码,查找网页中加载的数据信息,如果 ...

  7. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  8. 如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例

    前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态——附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣 ...

  9. Python 3.6 抓取微博m站数据

    Python 3.6 抓取微博m站数据 2019.05.01 更新内容 containerid 可以通过 "107603" + user_id 组装得到,无需请求个人信息获取: 优 ...

随机推荐

  1. webloader上传图片详细教程/使用thinkphp5.0(原创)

    这个插件对后端程序员相当友好,无论是JAVA还是PHP,抑或python,基本只需要一句代码就能完成上传并且预览的效果,先上效果图,让你们眼馋一下 废话不说,直接撸代码,前端代码如下: <htm ...

  2. C#关于log4net(Log For Net)

    1       介绍 log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java ...

  3. (五)mysql表操作和约束条件

    (1)表基本操作 1)创建表 create table 表名(字段 数据类型 约束条件) mysql> create table student1(id int,name varchar(50) ...

  4. logging 日志两种使用方法(转)

    下面我们使用代码logging的代码来说明: 使用baseConfig()函数对 logging进行 简单的 配置: import logging; # 使用baseConfig()函数,可选参数有f ...

  5. HDU 1556.Color the ball-差分数组-备忘

    备忘. 差分数组: 区间更新查询有很多方法,线段树.树状数组等都可以.如果为离线查询,就可以考虑使用差分数组. 假设对于区间[l,r]的每个数都加1,我们用一个数组a来记录,a[l]+=1;a[r+1 ...

  6. POJ 3264 Balanced Lineup 【线段树/区间最值差】

    Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 62103 Accepted: 29005 Cas ...

  7. Floyd【p1841】[JSOI2007]重要的城市

    Description 参加jsoi冬令营的同学最近发现,由于南航校内修路截断了原来通向计算中心的路,导致去的路程比原先增加了近一公里.而食堂门前施工虽然也截断了原来通向计算中心的路,却没有使路程增加 ...

  8. 37、Django实战第37天:404以及500页面配置

    1.把404.html,500.html复制到templates下,替换静态文件路径 2.编辑users.views.py定义404,505函数 from django.shortcuts impor ...

  9. create table select from

    CREATE TABLE new_table AS SELECT * FROM old_table

  10. 谜题27:变幻莫测的i值

    与谜题26中的程序一样,下面的程序也包含了一个记录在终止前有多少次迭代的循环.与那个程序不同的是,这个程序使用的是左移操作符(<<).你的任务照旧是要指出这个程序将打印什么.当你阅读这个程 ...