python 页面信息抓取

原创 2015年07月09日 12:17:12

1. 特点

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

  • 依赖于HTML的架构。

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


2. 抓取示例

  首先看一下百度视频网页的源代码,大致浏览下,选定要抓取的网页元素。
  src
  
  假设我们要对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')
  
  bs
  
  在focusList中查找这一div中所有的超链接:allLinks = focusList.find_all('a')
  可用allLinks[0]直接访问第一个链接的内容:
  link0
  
  如果要在这些超链接中查找标题为“协警押送嫌犯遭其同伙袭击”,可用下面代码:
  videoLink1 = bs.find('a',{'title':'协警押送嫌犯遭其同伙袭击'})
  title
  
  videoLink1[‘href’]可以直接获取到链接的地址。
  
  查找所有图片的标签:imgLinks = focusList.find_all('img')
  获取某个图片链接的源地址:imgLinks[0]['src']
  img

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

相关文章推荐

python 使用scapy进行ARP扫描

一. 描述  使用scapy第三方库,编写一个可以对一个网段进行ARP扫描,获得该往段内活跃主机的IP地址和MAC地址。二. 分析与方案 首先,从scapy导入相关的模块。 Ether()/ARP()...

python 创建Web Server

1. Web 服务应用工作机制 监听80或者是443端口 80为普通的http协议,443为https。 等待客户端请求 GET、POST、HEAD… … 处理请求 保存文件 执行CGI脚本 2...

python 多线程 start_new_thread()

一、简述  CPython实现细节: 由于GIL(Global Interpreter Lock),在CPython中一次只能有一个线程来执行python代码,不过有些面向执行的库可以克服这个限制。如...

python C/S模式基础编程 (网络安全系列)

1. socket编程socket类型包括:——TCP socket 和 UDP socket。 常规的客户服务区模式。 ——Raw socket 可用于嗅探和注入 2. C/S模式  C/S (Cl...

python3+scapy扫描获取局域网主机ip和mac

python3+scapy扫描获取局域网主机ip和mac

python 使用scapy编写DNS Fuzzer

1. 描述  使用scapy库,编写一个DNS Fuzzer工具,并测试。在这之前,先说明一下DNS协议请求包是封装在IP包中的UDP包(有些情况也可使用TCP)中,且UDP的端口为53。进入scap...

python 使用scapy进行帧注入

1. 描述  使用scapy进行以太网帧的注入,相对于RAW_SOCKET还是比较简单的。在讲述packet注入之前,先了解一下scapy伪造以太网帧的相关知识。下图为以太网帧格式和scapy对应的封...

python 解析HTML

1. 理解网页上的数据 网页上的数据主要有: HTML XHTML XML JSON 需要一个接受数据并解析的机制 需要一个产生数据并发送的机制 2. 解析HTML 层次化的数据 有多个解析HTML...

python 使用Raw Socket进行以太网帧注入

1. 帧注入  对于以太网帧和Raw Socket的介绍可参考之前的一篇博文利用Raw Socket进行以太网帧嗅探。帧注入的特点:    可以将原数据格式的包注入到网络中。 在模拟网络应答方面很强...

python SocketServer 框架编程

1. SocketServer框架  在python中,socketserver是一个已集成的模块,它有以下特点:    可用SocketServer框架创建TCP和UDP服务器。 在后台为你做好每...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)