Vastsea 发表于 2020-4-21 12:02:51

截取指定字符

使用
for item in bs.find_all("td"):
    print(item.get_text())

后,输出结果如下:

计数器刷新后退总数:222006复印机黑白:12993打印机黑白:209013传真黑白:0发送/传送总数黑白:10067彩色:5202传真传送总数:0扫描仪发送黑白:10067彩色:5202覆盖复印机黑白覆盖:52602%打印机黑白覆盖:1035088%传真黑白覆盖:0%其他功能A3/DLT:478双面:615后退

我只需要“总数:222006”,这个需要怎么写?

谢谢!

liuzhengyuan 发表于 2020-4-21 12:03:55

本帖最后由 liuzhengyuan 于 2020-4-21 12:05 编辑

???总数,什么意思???神马网址???

哦,我懂了,麻烦给一下全部代码和网址

liuzhengyuan 发表于 2020-4-21 12:08:09

本帖最后由 liuzhengyuan 于 2020-4-21 12:15 编辑

在列表里一个一个找
For i in list
    if ‘总数’ in i

qiuyouzhi 发表于 2020-4-21 12:15:14

你可以不用find_all,直接find
也就是找出第一个

彩虹七号 发表于 2020-4-21 12:59:59

本帖最后由 彩虹七号 于 2020-4-21 13:01 编辑

如果你要的数字在第一个位置上,可以试一试这个

import re
for item in bs.find_all("td"):
      res = re.search("\d+", item.get_text())
      print(res.group())

Vastsea 发表于 2020-4-21 13:03:18

如下提示:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-29-035b90efc5b1> in <module>
      1 for item in bs.find_all("td"):
      2         res = re.search("\d+", item.get_text())
----> 3         print(res.group())

AttributeError: 'NoneType' object has no attribute 'group'

suchocolate 发表于 2020-4-21 13:09:16

原始网址和代码发出来吧,感觉这个数据可以靠bs语法一次性取出,不需要后续处理。

Vastsea 发表于 2020-4-21 13:21:15

suchocolate 发表于 2020-4-21 13:09
原始网址和代码发出来吧,感觉这个数据可以靠bs语法一次性取出,不需要后续处理。

那样更好啊,怎么写啊?或者你需要哪些信息,我提供给你。

liuzhengyuan 发表于 2020-4-21 13:22:30

Vastsea 发表于 2020-4-21 13:21
那样更好啊,怎么写啊?或者你需要哪些信息,我提供给你。

我要网址

均昊山 发表于 2020-4-21 14:27:57

本帖最后由 均昊山 于 2020-4-21 14:29 编辑

找下字符串规律,兄弟你需要的内容在总数:后面黏在复印机黑白前面,规律不变的话兄弟可以参考下
a = 计数器刷新后退总数:222006复印机黑白:12993打印机黑白:209013传真黑白:0发送/传送总数黑白:10067彩色:5202传真传送总数:0扫描仪发送黑白:10067彩色:5202覆盖复印机黑白覆盖:52602%打印机黑白覆盖:1035088%传真黑白覆盖:0%其他功能A3/DLT:478双面:615后退
b = a .split(':')
正则表达式查找b数字就行了

Vastsea 发表于 2020-4-21 14:39:38

liuzhengyuan 发表于 2020-4-21 12:03
???总数,什么意思???神马网址???

哦,我懂了,麻烦给一下全部代码和网址

内网网址,外网访问不了。

Vastsea 发表于 2020-4-21 14:43:05


import requests
from bs4 import BeautifulSoup
import re
url = "http://10.0.0.12/web/guest/cn/websys/status/getUnificationCounter.cgi"
req = requests.get(url)
html = req.text
bs = BeautifulSoup(html,"html.parser")
for item in bs.find_all("td"):
    print(item.get_text())
for item in bs.find_all("td"):
    print(item.get_text())

suchocolate 发表于 2020-4-21 15:47:57

Vastsea 发表于 2020-4-21 13:21
那样更好啊,怎么写啊?或者你需要哪些信息,我提供给你。

把取好的网页文本保存成一个文件,放到腾讯文档:docs.qq.com,分享给我们。
r = requests.get(url,headers={'user-agent':'firefox'})
with open('response.txt','w') as f:
    f.write(r.text)

Vastsea 发表于 2020-4-21 16:26:42

本帖最后由 Vastsea 于 2020-4-22 15:15 编辑

suchocolate 发表于 2020-4-21 15:47
把取好的网页文本保存成一个文件,放到腾讯文档:docs.qq.com,分享给我们。

【腾讯文档】test
https://docs.qq.com/doc/DQlVzV0xzc1Byc1NN

Vastsea 发表于 2020-4-28 10:10:07

suchocolate 发表于 2020-4-21 15:47
把取好的网页文本保存成一个文件,放到腾讯文档:docs.qq.com,分享给我们。

我可以加你的微信吗?

Vastsea 发表于 2020-4-29 08:07:59

Vastsea 发表于 2020-4-28 10:10
我可以加你的微信吗?

抱歉,您目前没有权限添加好友,点击这里查看权限

{:5_100:}

Vastsea 发表于 2020-4-29 11:48:17

我邮箱ch.dl@126.com
页: [1]
查看完整版本: 截取指定字符