python抓取数据例子

本示例展示了如何使用Python的urllib和re模块从指定网址抓取网页内容,并通过正则表达式提取所需的文本部分。该过程包括打开URL、读取HTML内容、解析并提取特定的div标签内的文本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#coding=utf-8

#-*- coding: UTF-8 -*-  
import re
import urllib

def main():
    urls = ['http://www.forbeschina.com/review/201301/0022393.shtml',
    'http://www.forbeschina.com/review/201301/0022393_2.shtml',
    'http://www.forbeschina.com/review/201301/0022393_3.shtml',
    'http://www.forbeschina.com/review/201301/0022393_4.shtml',
    'http://www.forbeschina.com/review/201301/0022393_5.shtml',
    'http://www.forbeschina.com/review/201301/0022393_6.shtml']

    for url in urls:
        f = urllib.urlopen(url)
        html = f.read()
        content = re.compile(u'<div class="p_detail">.*?</div>', re.DOTALL) 
        style = content.search(html.decode('utf8'))
        if style:
            html = style.group(0)
            print 'Found it'
        else:
            print 'Not found.'
        para = re.sub('<[^>]*>', '', html);
        print para.encode('utf8') 


if __name__ == "__main__":
    main()


### 使用Python通过SNMP或Telnet抓取交换机数据 #### 通过SNMP抓取交换机数据 为了使用SNMP协议从交换机捕获数据,可以借助 `pysnmp` 或者封装更好的 `easysnmp` 库来完成操作。以下是基于 `easysnmp` 的实现方法: ```python from easysnmp import Session session = Session(hostname='交换机IP地址', community='公共字符串', version=2) # 获取单个OID的值 single_value = session.get('sysDescr.0') print(f"System Description: {single_value.value}") # 批量获取多个OID的值 multi_values = session.get(['ifName.1', 'ifInOctets.1']) for value in multi_values: print(f"{value.oid} ({value.oid_index}) = {value.value}") # 遍历整个表 interface_table = session.walk('ifName') for interface in interface_table: print(f"{interface.oid} ({interface.oid_index}) = {interface.value}") ``` 此代码片段展示了如何利用SNMP v2c版本查询设备描述、接口名称以及入站字节数等信息[^4]。 #### 通过Telnet抓取交换机数据 对于不支持SNMP或者需要执行特定CLI命令的情况,可以通过Telnet连接至交换机并发送指令。下面是一个简单的例子展示如何采用Netmiko库配合Telnet方式访问H3C或其他品牌交换机: ```python from netmiko import ConnectHandler device = { 'device_type': 'huawei_comware_telnet', 'ip': '交换机IP地址', 'username': '用户名', 'password': '密码', 'port': 23, } connection = ConnectHandler(**device) output = connection.send_command('display device manuinfo') connection.disconnect() print(output) ``` 这段程序说明了怎样设置目标装置参数并通过send_command函数发出显示制造详情命令[^1]。 无论是哪种技术路线,在实际部署前都需要确认所使用的第三方模块已被正确安装于环境中(`pip install netmiko pysnmp easysnmp`),同时也要注意不同厂商可能存在的特殊语法差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值