python抓取局域网内数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python抓取局域网内数据相关的知识,希望对你有一定的参考价值。

现在在一个局域网内安装了一台TCP/IP协议的温湿度传感器,也分配好的地址,请问如何实现用python编写个小软件,抓取温湿度数据?

参考技术A 你必须要让传感器那边有接受/发送的相应协议。

python怎么抓取网页中DIV的文字

第一张图是我抓取整个网页的代码,怎么修改把所有title的文字抓取出来?

1、编写爬虫思路:
确定下载目标,找到网页,找到网页中需要的内容。对数据进行处理。保存数据。
2、知识点说明:
1)确定网络中需要的信息,打开网页后使用F12打开开发者模式。
在Network中可以看到很多信息,我们在页面上看到的文字信息都保存在一个html文件中。点击文件后可以看到response,文字信息都包含在response中。
对于需要输入的信息,可以使用ctrl+f,进行搜索。查看信息前后包含哪些特定字段。
对于超链接的提取,可以使用最左边的箭头点击超链接,这时Elements会打开有该条超链接的信息,从中判断需要提取的信息。从下载小说来看,在目录页提取出小说的链接和章节名。
2)注意编码格式
输入字符集一定要设置成utf-8。页面大多为GBK字符集。不设置会乱码。
参考技术A

使用 BeautifulSoup  进行解析 html,需要安装 BeautifulSoup

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

本回答被提问者和网友采纳
参考技术B 最简单的还是用DW,贴到里面,然后就能做了,也不是很难追问

我现在学的又不是DW,你和我说DW干啥?

以上是关于python抓取局域网内数据的主要内容,如果未能解决你的问题,请参考以下文章

python分布式进程

使用Python检测局域网内IP地址使用情况

python Scapy获取局域网内的IP和mac地址

python Scapy获取局域网内的IP和mac地址

Python一个命令开启http下载服务器(可以局域网内共享文件)

Python多线程局域网扫IP的问题