. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
HappyDragon
 
HappyDragon 的头像
核心会员
 
资 料:
注册日期: Jul 2003
帖子: 3,664 声望值: 3
精华: 0,解答: 3
#1 旧 2020-05-04, 10:30:31 默认 【求助】Python代码几行
HappyDragon 当前离线  

第一次写代码,照着网上的扒了几行,获取的HTML见附件

我只想要总数部分。该怎么操作?

mport requests
from bs4 import BeautifulSoup

url = "http://10.0.0.18/web/guest/cn/websys/status/getUnificationCounter.cgi"

req = requests.get(url)

html = req.text

bs = BeautifulSoup(html,"html.parser")

print (bs)
上传的附件
文件类型: txt Html.txt (21.7 KB, 18 次查看)


君子博学而日参省乎己,则知明而行无过矣。
回复时引用此帖
yunfeiqian
 
yunfeiqian 的头像
普通会员
 
资 料:
注册日期: Jan 2020
帖子: 36 声望值: 0
精华: 0
#2 旧 2020-05-04, 14:25:18 默认
yunfeiqian 当前离线  

import re

正则表达式:
https://cuiqingcai.com/977.html
回复时引用此帖
HappyDragon
 
HappyDragon 的头像
核心会员
 
资 料:
注册日期: Jul 2003
帖子: 3,664 声望值: 3
精华: 0,解答: 3
#3 旧 2020-05-04, 14:33:18 默认
HappyDragon 当前离线  

谢谢楼上的兄弟。只有BeautifulSoup不行吗?BS还没弄明白呢。又要弄正则,晕啊
回复时引用此帖
lucida
 
lucida 的头像
终极会员
 
资 料:
注册日期: Sep 2001
帖子: 8,196 声望值: 3
精华: 4,解答: 106
#4 旧 2020-05-04, 15:29:24 默认
lucida 当前在线  

str = bs.select('tr.staticProp')[1].get_text()
print(str)
回复时引用此帖
HappyDragon
 
HappyDragon 的头像
核心会员
 
资 料:
注册日期: Jul 2003
帖子: 3,664 声望值: 3
精华: 0,解答: 3
#5 旧 2020-05-04, 16:01:28 默认
HappyDragon 当前离线  

引用:
作者: lucida 查看帖子
str = bs.select('tr.staticProp')[1].get_text()
print(str)
非常感谢仁兄。tr应该是标签,那么staticProp是啥意思啊?
回复时引用此帖
tomscat
 
tomscat 的头像
中级会员
 
资 料:
注册日期: Sep 2001
帖子: 488 声望值: 3
精华: 0,解答: 5
#6 旧 2020-05-04, 21:26:06 默认
tomscat 当前离线  

引用:
作者: HappyDragon 查看帖子
非常感谢仁兄。tr应该是标签,那么staticProp是啥意思啊?
class呗,这些东西不用自己写,chrome里面F12,然后鼠标右键复制选择器或者复制XPath
回复时引用此帖
HappyDragon
 
HappyDragon 的头像
核心会员
 
资 料:
注册日期: Jul 2003
帖子: 3,664 声望值: 3
精华: 0,解答: 3
#7 旧 2020-05-05, 10:10:12 默认
HappyDragon 当前离线  

引用:
作者: tomscat 查看帖子
class呗,这些东西不用自己写,chrome里面F12,然后鼠标右键复制选择器或者复制XPath
没用你说的那两个选项啊?
上传的图像
文件类型: jpg 2020-05-05_10-07-39.jpg (35.4 KB, 129 次查看)
文件类型: jpg 2020-05-05_10-08-00.jpg (49.0 KB, 129 次查看)
回复时引用此帖
tomscat
 
tomscat 的头像
中级会员
 
资 料:
注册日期: Sep 2001
帖子: 488 声望值: 3
精华: 0,解答: 5
#8 旧 2020-05-05, 14:00:17 默认
tomscat 当前离线  

引用:
作者: HappyDragon 查看帖子
没用你说的那两个选项啊?
在元素(Elements)里面
回复时引用此帖
HappyDragon
 
HappyDragon 的头像
核心会员
 
资 料:
注册日期: Jul 2003
帖子: 3,664 声望值: 3
精华: 0,解答: 3
#9 旧 2020-05-05, 14:04:57 默认
HappyDragon 当前离线  

代码:
import requests
from bs4 import BeautifulSoup
ip = ['10.0.3.12','10.0.55.20','10.0.3.18','10.0.70.18','10.0.3.15','10.0.70.24']
for i in ip:
    url = "http://" & i & "/web/guest/cn/websys/status/getUnificationCounter.cgi"
        
req = requests.get(url)
html = req.text
bs = BeautifulSoup(html,"html.parser")
trs = bs.select('tr.staticProp')[1].get_text()
trs 输出的结果为“总数:XXXXX”

想要输出结果为:

10.0.3.12 总数:XXXXX
10.0.55.20 总数:XXXXX
10.0.3.18 总数:XXXXX
10.0.70.18 总数:XXXXX
......
回复时引用此帖
ZeroCool
 
ZeroCool 的头像
核心会员
 
资 料:
注册日期: Feb 2000
帖子: 2,921 声望值: 3
精华: 0,解答: 8
#10 旧 2020-05-05, 14:38:21 默认
ZeroCool 当前离线  

正则表达式能解决LZ需求。

很好学,找个例子,然后直接设定获取范围,完了逐条输出即可。

很久以前,刚刚开始学C#语言,写了一个读取网页上所有链接,并自动模拟点击的,就是用“正则表达式”,全部搞定大约3天。从0开始哦,到比较完善,用了5天。

此帖于 2020-05-05 14:58:29 被 ZeroCool 编辑. .
回复时引用此帖
tomscat
 
tomscat 的头像
中级会员
 
资 料:
注册日期: Sep 2001
帖子: 488 声望值: 3
精华: 0,解答: 5
#11 旧 2020-05-05, 22:56:57 默认
tomscat 当前离线  

引用:
作者: HappyDragon 查看帖子
[CODE]import requests
from bs4 import BeautifulSoup
ip = ['10.0.3.12','10.0.55.20','10.0.3.18','10.0.70.18','10.0.3.15','10.0.70.24']
for i in ip:
url = &qu......
循环缩进的问题,你这样只能得到10.0.70.24的数值
回复时引用此帖
发表新主题 回复

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 21:54:26.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号