RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1436129
Accepted
MayorLeon19
MayorLeon19
Asked:2022-08-04 19:12:44 +0000 UTC2022-08-04 19:12:44 +0000 UTC 2022-08-04 19:12:44 +0000 UTC

我的世界服务器解析器问题

  • 772

我想为我的世界服务器做一个解析器,所以我开始做它,这是一个死胡同。它显示相同的ip版本等等,我需要一切都不同,我的代码是:

import requests
from bs4 import BeautifulSoup as bs
import pandas as pd

URL_TEMPLATE = "https://monitoringminecraft.ru/novie-servera"
FILE_NAME = "test.csv"

def parse():
    result_list = {'href': [], 'title': [], 'about': []}
    r = requests.get(URL_TEMPLATE)
    soup = bs(r.text, "html.parser")
    server = soup.find('tr', class_='server')
    ru = soup.find_all('div', class_='flag ru')
    ip = soup.find('span', class_='ip_serv')
    version = soup.find('td', class_='ver')
    opened = soup.find('td', class_='opened')
    online = soup.find('div', class_='wrap')
    clear_ip = [c.text for c in ip]
    clear_version = [c.text for c in version]
    clear_opened = [c.text for c in opened]
    clear_online = [c.text for c in online]
    comps = []
    for servers in server:
        comps.append({
            'ip': clear_ip,
            'version': clear_version,
            'opened': clear_opened,
            'online': clear_online
        })
        for comp in comps:
            print(comp)
parse()

控制台输出什么:

{'ip': ['89.239.167.113:19132'], 'version': ['?'], 'opened': ['только что'], 'online': [' ', '0', ' из 2022 ']}
{'ip': ['89.239.167.113:19132'], 'version': ['?'], 'opened': ['только что'], 'online': [' ', '0', ' из 2022 ']}
{'ip': ['89.239.167.113:19132'], 'version': ['?'], 'opened': ['только что'], 'online': [' ', '0', ' из 2022 ']}
{'ip': ['89.239.167.113:19132'], 'version': ['?'], 'opened': ['только что'], 'online': [' ', '0', ' из 2022 ']}
python парсер
  • 1 1 个回答
  • 42 Views

1 个回答

  • Voted
  1. Best Answer
    Prog
    2022-08-04T21:50:25Z2022-08-04T21:50:25Z

    您的错误是您将 ip、版本等标签 1 次(遇到的第一个)并立即“将其投入战斗”。解决问题的代码:

    import requests
    from bs4 import BeautifulSoup as bs
    import pandas as pd
    
    URL_TEMPLATE = "https://monitoringminecraft.ru/novie-servera"
    FILE_NAME = "test.csv"
    r = requests.get(URL_TEMPLATE)
    soup = bs(r.text, "html.parser")
    server = []
    server = soup.find_all('tr', class_='server')
    sym_ = len(server) - 1
    amount = 0
    _sym = 0
    def parse(amount, _sym, sym_):
        result_list = {'href': [], 'title': [], 'about': []}
        r = requests.get(URL_TEMPLATE)
        soup = bs(r.text, "html.parser")
        ru = soup.find_all('div', class_='flag ru')
        ip = []
        ip += soup.find_all('span', class_='ip_serv')
        ip = ip[_sym:-sym_]
        version = []
        version = soup.find_all('td', class_='ver')
        version = version[_sym:-sym_]
        opened = []
        opened += soup.find_all('td', class_='opened')
        opened = opened[_sym:-sym_]
        online = []
        online += soup.find_all('div', class_='wrap')
        online = online[_sym:-sym_]
        clear_ip = [c.text for c in ip]
        clear_version = [c.text for c in version]
        clear_opened = [c.text for c in opened]
        clear_online = [c.text for c in online]
        comps = []
        comps.append({
            'ip': clear_ip,
            'version': clear_version,
            'opened': clear_opened,
            'online': clear_online
            })
            
        print(comps)
        
        if amount >= len(server)-1:
            pass
        else:
            _sym+=1
            sym_-=1
            amount += 1
            parse(amount, _sym, sym_)
    
    parse(amount, _sym, sym_)
    
    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5