RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-389684

Body's questions

Martin Hope
Body
Asked: 2022-08-10 01:53:12 +0000 UTC

在 mouseup 事件中,setTimeout 函数处理不正确

  • 0

我写了一个脚本负责弹出窗口的出现和消失,我希望这个窗口能顺利出现和消失。为此,我设置了弹出窗口样式transition,并opacity在动画结束后通过setTimeout将js弹出窗口设置为窗口透明display: none。但是负责关闭窗口的脚本,在弹出窗口区域外单击时,不能正常工作。我一打开窗口,这个脚本就会立即通过发出display: none. 如果您只是运行此脚本而没有setTimeout一切正常工作。

负责打开和关闭弹窗的脚本:

// отвечает за открытие окна при клике на кнопку
$("#myBtn").on('click', function () {
    $("#myModal").css('display', 'block')
    $("#myModal").css('opacity', '1')
});
// отвечает за закрытие окна при клике на крестик
$(".close").on('click', function () {
    $("#myModal").css('opacity', '0');
    setTimeout(function(){
        $("#myModal").css('display', 'none');
    }, 500);
});
// отвечает за закрытие окна при клике вне окна
$(document).mouseup(function (e) {
    var div = $(".login-box");
    if (!div.is(e.target) && div.has(e.target).length === 0) {
        $("#myModal").css('opacity', '0');
        setTimeout(function(){
        $("#myModal").css('display', 'none');
    }, 500);
    }
});
javascript
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2022-04-22 02:48:14 +0000 UTC

getScheduler 不工作

  • 0

请帮助解决问题。由于某种原因,调度程序不起作用,我对这个问题进行了多少摆弄,我仍然无法解决它。我有一个单独的命令负责运行脚本,该脚本负责在玩家的位置放置一个块。我调用命令,调度程序中的命令在至少 20 秒后根本不起作用。我不明白是什么原因,我刚开始研究插件开发的整个主题)))

编码:

package me.bodka.meteorfalling.commands;

import me.bodka.meteorfalling.Main;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class AdminCMD extends JavaPlugin implements CommandExecutor {

    public AdminCMD(Main plugin){
        plugin.getCommand("StartMeteorFalling").setExecutor(this);
    }


    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player)){
            System.out.println("Только игрок может исполнять эту команду!");
            return true;
        }
        Player player = (Player) sender;

        if(player.isOp()){
            int x = player.getLocation().getBlockX(), y = player.getLocation().getBlockY(), z = player.getLocation().getBlockZ();
            Location loc = new Location(player.getWorld(), x, y, z);
            Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(this, new Runnable() {
                @Override
                public void run() {
                    loc.getBlock().setType(Material.DIAMOND_BLOCK);
                }
            }, 20L);
            System.out.println("Шедулер пройден!");
        }
        else{
            System.out.println("Только админ может использовать эту команду!");
            return true;
        }
        return false;
    }
}

java
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2022-05-21 01:18:35 +0000 UTC

错误迭代器全局标志必须是字符串列表或元组

  • 0

执行代码时出现这个错误Iterator global flags must be a list or tuple of strings,我不知道如何解决这个问题,在数据库中我有所有的值\u200b\u200bset到“varchar”下面是代码:

import sqlite3
import numpy as np

data_base = sqlite3.connect('server.db')
sql = data_base.cursor()
for row in np.nditer(sql.execute("""SELECT token, user_tg_id FROM users """), flags="REFS_OK"):
    print(row[1], row[0])
python
  • 2 个回答
  • 10 Views
Martin Hope
Body
Asked: 2022-04-28 19:09:20 +0000 UTC

跟随滚动元素

  • -1

请帮助实现,以便在页面滚动时,容器被固定,当到达下一个块时,容器停止。

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2022-01-19 19:33:24 +0000 UTC

dataframe.merge() 错误:MergeError: No common columns to perform merge on

  • 1

我正在尝试合并两个数据框。我想按列“添加”它们Имя,但由于某种原因它给出了一个错误:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "D:\Программы\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "D:\Программы\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "D:/Рабочая папка/Работа/Соц. сети/Актуализация цен в VK/test.py", line 7, in <module>
    a.merge(b)
  File "C:\Users\musix\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\frame.py", line 8192, in merge
    return merge(
  File "C:\Users\musix\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 74, in merge
    op = _MergeOperation(
  File "C:\Users\musix\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 650, in __init__
    self._validate_specification()
  File "C:\Users\musix\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 1283, in _validate_specification
    raise MergeError(
pandas.errors.MergeError: No common columns to perform merge on. Merge options: left_on=None, right_on=None, left_index=False, right_index=False

以下是这两个 DataFrame 中的内容:

                Артикул                                                Имя
0                 13713                Двигатель Aurora АЕ-9/Р (со шкивом)
1                 13716              Двигатель Aurora АЕ-14D/Р (со шкивом)
2                 13715               Двигатель Aurora АЕ-14/Р (со шкивом)
3                 13714               Двигатель Aurora АЕ-9D/Р (со шкивом)
4                 13712               Двигатель Aurora АЕ-7D/Р (со шкивом)
                 ...                                                ...
1134    504.5.05.110.01  Сменный ствол на монтажный пистолет Toua GSN50...
1135  504.5.05.110.01.2  Сменный ствол на монтажный пистолет Toua GSN50...
1136           gncs-520                      Спрей для чистки инструментов
1137           sdi-toua                         Сумка для инструмента Toua
1138            85-0002     Универсальный очиститель Rexant CLEANER 400 мл
[1139 rows x 2 columns]
                                                   Name  ID in VK
0                   Двигатель Aurora АЕ-9/Р (со шкивом)   4745231
1                 Двигатель Aurora АЕ-14D/Р (со шкивом)   4745230
2                  Двигатель Aurora АЕ-14/Р (со шкивом)   4745229
3                  Двигатель Aurora АЕ-9D/Р (со шкивом)   4745228
4                  Двигатель Aurora АЕ-7D/Р (со шкивом)   4745227
                                                 ...       ...
1027   Масло моторное FUBAG Extra Pro SL/CF (SAE 5W-40)   4659064
1028             Масло моторное Fubag Extra (SAE 10W40)   4659063
1029                      Масло моторное Fubag 2Т Extra   4659062
1030  Блок автоматики FUBAG Startmaster DS 25000 D (...   4659056
1031  Блок автоматики FUBAG Startmaster DS 25000 (230V)   4659055
[1032 rows x 2 columns]

这是代码:

import pandas as pd

a = pd.read_csv('Арт и имя.csv')
b = pd.read_csv('borisych.csv')
print(a)
print(b)
a.merge(b)
print(a)
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2021-11-06 14:09:21 +0000 UTC

如何按相同索引对两个列表进行排序

  • 0

为了更清楚地理解我的问题的本质,我会说我想做什么。我有两个文件,第一个存储产品的商品和价格,第二个存储产品的必要货号,数量比第一个少。我需要将第一个文件中的价格分配给第二个文件的文章。为此,我想使用二进制搜索

下面是一个二分查找的例子:

nums = [5,7,6,9,8,4,2,3,1]
nums.sort()
print(nums)

search = 7
print('Мы хотим найти: ', search)
lowest = 0
highest = len(nums) - 1
index = None

while(lowest <= highest) and (index is None):
    mid = (lowest+highest) // 2

    if nums[mid] == search:
        index = mid
    else:
        if search < nums[mid]:
            highest = mid - 1
        else:
            lowest = mid + 1

print('Искомый элемент: ', nums[index])

这是我的脚本:

import csv
import os
import xlrd

file_art = 'Артикулы всех товаров Aurora.csv'
file_quan = '2.xls'

def get_comparison(file_art, file_quan):
    product_all = []
    quantity = []
    price = []

    with open(file_art, "r") as file_obj:
        reader = csv.reader(file_obj)
        for row in reader:
            check = "".join(row)
            if check == 'Articul':
                pass
            else:
                product_all.append(int(check))
    product_all.sort()
    print(product_all)
    
    excel_data = xlrd.open_workbook('./' + file_quan)
    sheet = excel_data.sheet_by_index(0)
    row_number = sheet.nrows

    for row in range(1, row_number):
        quantity.append(int((str(sheet.row(row)[1]).replace('.0','').replace('number:',''))))
        price.append(str(sheet.row(row)[8]).replace('number:',''))
    quantity.sort()
    print(price)

get_comparison(file_art, file_quan)

列表元素的索引: price, quantity, 相互匹配(即列表的文章quantity对应列表中的价格price),但是当我对列表进行排序时quantity,我失去了价格和文章元素的索引的对应关系列表。是否可以以某种方式将索引分配quantity给 price?我希望我解释清楚,如果不清楚,请提问))))

python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2021-11-05 03:10:32 +0000 UTC

如何将变量从php中的一个文件传递到另一个php

  • 0

我有一个用 php 编写的脚本,它显示来自数据库的评论,我想实现删除评论,但为此我需要将评论 id 从 include_data.php 文件传输到 delete.php 文件,以便创建一个请求从数据库中删除一条评论,我也希望当我点击删除按钮时,显示确认,避免误点击,请告诉我。

这是脚本:

<?php 

    include 'connect.php';
    
    $result = mysqli_query($link, " SELECT * FROM `coments` ");
    while ($field = mysqli_fetch_assoc($result)){
        $id = $field['id'];
        $delete = "<a href='delete_base.php'>Удалить</a>";
        echo 'Отзыв от ' . $field['name_coment'] . '<br><br> Коментарий: <br>' . $field['coment'] . "<br>" . $field['date_coments'] . '<br>' . $delete . '<hr>';

    }

 ?>
php
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-08-21 20:18:09 +0000 UTC

如何无限次循环列表的元素?

  • 5

我需要程序每 10 分钟一个一个地显示列表中的一个元素,但是当程序到达列表末尾时,它又开始一个一个地列出元素。

我该怎么做?

示例代码:

import time
import schedule
spisok = [1,2,3]

while True:
    def idi():
        for i in spisok:
            print(i)

    schedule.every(10).minutes.do(idi)
    
    while True:    
        schedule.run_pending()
        time.sleep(1)
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-08-19 17:31:12 +0000 UTC

调度器不工作

  • 3

我有一个在 VK 上发布帖子的脚本,我希望他每天在特定时间发布它们。为了测试,我决定把脚本的执行时间放在 5 秒内。但由于某种原因,没有任何效果,我运行脚本,然后我去小组,10 秒后,应该在哪里布置帖子,那里什么都没有。然后我在没有库的情况下执行脚本schedule,一切正常。告诉我有什么问题?

编码:

import requests
import time
import schedule

test = '-63869928'
text = 'Test, Test, Test'
image = 'photo395296157_457250641'

global token
token = 'Мой токен'

def safe_file():
    a = requests.post('https://api.vk.com/method/wall.post', data={
                                                             'owner_id': test,
                                                             "access_token": token,
                                                             'v': 5.122,
                                                             'message': text,
                                                             'attachments': image,
                                                             }).json()
    print(a)

def parser():
    print('\n', '  Начинается выгрузка постов', '\n', '  Пожалуйста подождите...')
    safe_file()
    print('  Готово!')

# parser()

job1 = schedule.every(5).seconds.do(parser)

for i in range(2):
    schedule.run_pending()
    time.sleep(1)

schedule.cancel_job(job1)
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-08-13 15:56:17 +0000 UTC

是否可以通过 VK API 将 json 代码用于附件?

  • 1

我想用python制作一个程序,它将从某些组中获取帖子并将它们发布到我的组中。问题是,是否可以在get request json代码中写附件(即附件)。因为在 VK API 文档中,我只发现可以这样做:附件字段的表示格式为:<owner_id>_<media_id>,<owner_id>_<media_id>。

我想要它的格式:

"attachments": [
          {
            "type": "photo",
            "photo": {
              "album_id": -7,
              "date": 1597146568,
              "id": 457240371,
              "owner_id": -154625437,
              "has_tags": false,
              "access_key": "381ee183af835ee6ee",
              "post_id": 1144,
              "sizes": [
                {
                  "height": 130,
                  "url": "https://sun3-10.userapi.com/iFNpL-bfGgHKV-wFjvu7M8imjoXhvQKDB878ag/0eFAv08anlk.jpg",
                  "type": "m",
                  "width": 130
                },
                {
                  "height": 130,
                  "url": "https://sun3-10.userapi.com/iFNpL-bfGgHKV-wFjvu7M8imjoXhvQKDB878ag/0eFAv08anlk.jpg",
                  "type": "o",
                  "width": 130
                },
                {
                  "height": 200,
                  "url": "https://sun3-13.userapi.com/KsYE0AVQCd1l-8s7mt-9hDGPqr9hv3SNWcnamg/CSodgriKV-Y.jpg",
                  "type": "p",
                  "width": 200
...
vkontakte-api
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-08-10 14:36:53 +0000 UTC

如何在python中将多个条件合并为一个?

  • 1

我使用 Vk API 并希望简化代码。因为我可以有10个这样的条件,但我不想用这个填写所有的代码。有没有办法减少?

这是代码:

def safe_file(posts):
    with open('test.csv', 'w', newline='', encoding='utf-8') as file:
        title = csv.writer(file, delimiter=';')
        title. writerow(['text', 'image', 'url'])
        for post in posts:
            try:
                if post ['id']:
                    i = post ['id']
                else:
                    i = 'pass'
                if post ['text']:
                    text = post ['text']
                else:
                    text = 'pass'
                if post ['attachments'][0]['photo']['sizes'][-1]['url']:
                    img = post ['attachments'][0]['photo']['sizes'][-1]['url']
                else:
                    img = 'pass'
            except:
                pass
                img = 'pass'

            title.writerow((text, i, img))

我需要简化这部分代码:

for post in posts:
            try:
                if post ['id']:
                    i = post ['id']
                else:
                    i = 'pass'
                if post ['text']:
                    text = post ['text']
                else:
                    text = 'pass'
                if post ['attachments'][0]['photo']['sizes'][-1]['url']:
                    img = post ['attachments'][0]['photo']['sizes'][-1]['url']
                else:
                    img = 'pass'
            except:
                pass
                img = 'pass'
python
  • 3 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-06-09 20:40:18 +0000 UTC

如何使用解析器更改 img 标签

  • 0

我需要替换 HTML 代码中的图像路径。替换示例:

<!-- Это -->
<img alt="Sun20_opisanie_1.jpg" height="142" src="/upload/medialibrary/eca/ecaf24b68290cd575bbb1fd1d69e86f3.jpg" title="Светофильтр" width="700"/><br/>` 

<!-- Сделать таким -->
<img alt="Sun20_opisanie_1.jpg" height="142" src="/upload/ptk/img/ecaf24b68290cd575bbb1fd1d69e86f3.jpg" title="Светофильтр" width="700"/><br/>

也就是把图片的链接改一下,有人能帮忙吗?同时,网站上图片的路径总是不一样,这就是为什么我什至不能使用命令:replace.

这是解析器本身:

import requests
from bs4 import BeautifulSoup
import csv
import os


URL = 'https://evrotek.spb.ru/catalog/product/66504/'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36', 'accept': '*/*'}
FILE = 'svarka.csv'
HOST_IMG = '/image/Aurora/'
HOST = 'https://evrotek.spb.ru'

def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_Stranic(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='page-content has-leftbar cabinet catalog-card')
    stranica_svarka=[]
    image = []
    for item in items:
        stranica_svarka.append({
            "title": item.find('h1', class_='').get_text(strip=True),
            "price": item.find('div', class_='price').find_next('span').get_text(strip=True).replace(' ', '').replace('руб.', '.00').replace('\xa0', ''),
            "text": item.find('div', class_='tab-content').find_next('div'),
            "articul": item.find('div', class_='art').find_next('span').get_text(strip=True),
            'test': 'dew'
            })
    items2 = soup.find_all('div', class_='tab-pane active fade in')
    for img in items2:
        i = img.find_all('img', class_='')
        for idi in i:
            image.append(
                HOST + idi.get('src')
                )
    for i in image:
        name = i.split('/')[-1]
        with open('Картинки/' + name, 'wb') as file:
            for chunk in requests.get(i):
                file.write(chunk)
    print(image)
    return stranica_svarka

html = get_html(URL)
svarka = get_Stranic(html.text)
print(svarka)

完整的 HTML 代码:

<div class="tab-pane active fade in" id="description" itemprop="description">
<p>
Встречайте <b>новинку 2020 </b> - <b>Маска сварочная Хамелеон Aurora SUN-9 DYNAMIC</b>. Новая модель выделяется среди конкурентов и в ассортименте модельного ряда Aurora благодаря ряду преимуществ:
</p>
<p>
<img alt="Sun20_opisanie.jpg" height="128" src="/upload/medialibrary/940/9404a23a67fe322e256e483222c98a07.jpg" title="Достоинства" width="700"/><br/>
</p>
<p>
</p>
<ul>
<li>
Уникальная инновационная конструкция щитка с внутренним подъемным механизмом позволяет производить подготовительные, зачистные работы с полностью прозрачным защитным стеклом. </li>
<li>
Максимально широкий угол обзора: 150 в режиме подготовки и 120 в режиме сварки.<br/>
</li>
<li>
Технология TRUE COLOR — четкое изображение, правильная цветопередача и минимальная нагрузка на глаза сварщика. </li>
<li>
Лучший оптический класс светофильтра 1/1/1/1. </li>
</ul>
<img align="left" alt="true_color.jpg" height="154" src="/upload/medialibrary/1bb/1bbac4d6a40e3836a94dc1f3b62f0417.jpg" title="true color" width="126"/>Маска AURORA SUN-9 DYNAMIC – это сочетание технологических наработок последних лет в области производства средств защиты лица и органов зрения.  Одним из главным достоинств нового светофильтра является <b>технология TRUE COLOR</b>: инновационный подход к производству позволяет добиться высокого значения цветопередачи, гораздо более естественного и насыщенного в сравнении с обычными автоматическими фильтрами. При полном затемнении фильтра цвета не искажаются ни в зелёную, ни в фиолетовую область. При этом светофильтр Aurora также сохраняет максимальный уровень защиты от вредного синего спектра.
<p>
Установленный светофильтр обладает лучшим на сегодняшний день оптическим классом 1/1/1/1, со степенью затемнения от 3DIN. Данная маска имеет съемный элемент питания, который, при необходимости,  можно заменить самостоятельно. Также можно дооснастить щиток увеличительными стеклами. Конструкция и размеры маски позволяют использовать ее со строительной каской и респиратором. 
</p>
<p>
Светофильтр маски одинаково эффективен для всех типов сварки: MMA, MIG-MAG, TIG, TIG PULSE, а так же для сварки на малых токах TIG AC/DC от 3А (AC) и 5А при работе с DC током! 
</p>
<p>
Евро-оголовье с регулировкой в пяти плоскостях и мягким налобником, небольшой вес и сбалансированная конструкция - позволяют снизить утомляемость сварщика и обеспечить комфорт на протяжении всего рабочего дня. 
</p>
<h3>Особенности:</h3>
<ul>
<li>4 инфракрасных датчика;</li>
<li>Простая замена элемента питания - 1xCR2450;</li>
<li>Хороший обзор за счет большой площади светофильтра 100Х65мм;</li>
<li>Высший оптический класс светофильтра 1/1/1/1;</li>
<li>Комфортная сварка в режимах MMA, MIG-MAG, TIG, TIG PULSE и сварка на малых токах;</li>
<li>Солнечная батарея светофильтра;</li>
<li>Сертификат соответствия  европейскому стандарту ЕС и американскому стандарту ANSI;</li>
<li>Хорошо сбалансированная конструкция;</li>
<li>Настройка оголовья в 5 плоскостях поможет добиться оптимального расположения маски относительно лица сварщика;<br/>
</li>
<li>Возможность использования щитка с респиратором и строительной каской;</li>
<li>Запасное защитное стекло в комплекте.</li>
</ul>
<p>
Фильтр маски хамелеон срабатывает при совпадении частоты светового потока и его амплитуды. Щиток затемняется только при одновременном воздействии на датчики инфракрасных волн и колебаний высокой интенсивности. Солнце или светодиодный источник света, несмотря на свою яркость, выдают очень мягкий свет без колебаний. Светофильтр маски на подобные источники не реагирует.  Эта особенность позволяет сварщику работать под прямыми солнечными лучами не опасаясь ложных срабатываний или случайных открытий фильтра. 
</p>
<p>
<img alt="Sun20_opisanie_1.jpg" height="142" src="/upload/medialibrary/eca/ecaf24b68290cd575bbb1fd1d69e86f3.jpg" title="Светофильтр" width="700"/><br/>
</p>
<h3>Особенности фильтра:</h3>
<ul>
<li><b>2</b> режима регулировки <b>степени</b> затемнения: DIN 4-DIN 8 (для сварки на малых токах) и <b>DIN 9</b> - <b>DIN 13</b> (для стандартных сварочных задач);</li>
<li>Три варианта задержки <b>времени открытия светофильтра</b> по окончании процесса сварки от 0.2 до 1 сек.,</li>
<li>Переключатель и регулятор настройки режимов <b>сварки (DIN 4-13)</b> / <b>заточки (DIN 3)</b>;</li>
<li>Возможность задать необходимую <b>чувствительность</b> датчиков светофильтра;</li>
<li>Коэффициент проникновения УФ лучей - 0.00002%;</li>
<li>Коэффициент проникновения ИК лучей - 0.03%;</li>
<li>В светлом состоянии и в режиме "заточка" затемнение светофильтра составляет всего 3 DIN.</li>
</ul>
<h3>Регулировка наголовника: </h3>
<p>
</p>
<ul>
<li>
Изменить диаметр охвата - поворотом всего одной ручки; </li>
<li>
Выбрать комфортный угол затылочного крепления; </li>
<li>
Отрегулировать глубину посадки, переставляя пластиковые шипы в пазах; </li>
<li>
Задать необходимый угол наклона щитка и усилие для опускания/поднимания маски; </li>
<li>
Выставить комфортное расстояние от лица до светофильтра. </li>
</ul>
Маска выполнена из высококачественного негорючего и ударопрочного полиамида покрытого защитной плёнкой.  Данное покрытие, а так же обтекаемая форма маски, предотвращают прилипание сварочных брызг. 
<p>
В наличии имеются запасные стекла из поликарбоната для маски Aurora SUN-9 DYNAMIC:
</p>
<p>
<a href="https://aurora-online.ru/catalog/welding/Aksessuarii/40543/"></a>
</p>
<ul>
<li> <a href="/catalog/product/66503/" target="_blank" title="Перейти">Стекло защитное SUN-9 DYNAMIC наружное</a> </li>
<li> <a href="/catalog/product/66503/" target="_blank" title="/catalog/product/66502/">Стекло защитное SUN-9 DYNAMIC внутреннее</a> </li>
</ul> </div>, 'articul': '28397', 'test': 'dew'}]
>>> 
html
  • 2 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-06-03 19:04:35 +0000 UTC

如何在解析器中进行类排除,以便解析器排除特定类

  • 1

我需要解析器不是从班级收集数据<ul class="b-catalog__subcats is-inner">,而是收集所有其他信息,我该怎么做,请告诉我???

解析器从中获取数据的 HTML 代码:

<div class="wrapper-short">
<h4>Особенности:</h4>
<ul>
<li>Многоплатная схема</li>
<li>Подключение 220 В</li>
<li>Горелка 26 серии в комплекте</li>
<li>ПВ 60% при токе 200 Ампер</li>
<li>Полноценная функция ручной дуговой сварки MMA</li>
<li>Автоматическая защита от перегрева</li>
<li>Регулировка продувки газом после сварки</li>
<li>Полная комплектация + ЗИП</li>
<li>Прочная коробка для транспортировки</li>
<li>Гарантия 2 года</li>
</ul>
<h4>Комплектация:</h4>
<ul>
<li>Инверторный аппарат аргонодуговой сварки - 1 шт.</li>
<li>Клемма заземления с кабелем - 1 шт. </li>
<li>Аргонодуговая горелка 26 серии  - 1 шт.</li>
<li>Паспорт оборудования - 1 шт.</li>
</ul>
<ul class="b-catalog__subcats is-inner">
<li>
<a href="https://ptk-svarka.ru/catalog/svarochnye-invertory/220v-2">220 вольт</a>
</li>
<li>
<a href="https://ptk-svarka.ru/catalog/apparaty-argonodugovoy-svarki-tig/tig-200">TIG 200</a>
</li>
<li>
<a href="https://ptk-svarka.ru/catalog/apparaty-argonodugovoy-svarki-tig/220v">220 вольт</a>
</li>
<li>
<a href="https://ptk-svarka.ru/catalog/svarochnye-invertory/master-2">Мастер</a>
</li>
<li>
<a href="https://ptk-svarka.ru/catalog/apparaty-argonodugovoy-svarki-tig/postoyannyj-tok">DC</a>
</li>
<li>
<a href="https://ptk-svarka.ru/catalog/apparaty-argonodugovoy-svarki-tig/master">Мастер</a>
</li>
<li>
<a href="https://ptk-svarka.ru/catalog/svarochnye-invertory/200-amper">200 ампер</a>
</li>
</ul>
</div>

这是解析器本身:

import requests
from bs4 import BeautifulSoup
import csv
import os

URL = 'https://ptk-svarka.ru/product/ptk-master-tig-200'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'accept': '*/*'}

def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_html_vivod(html):
    svarka = []
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-product-tab__item is-active')
    for item in items:  
        svarka.append({
            "text": item.find('div', class_='wrapper-short')
            })
    return svarka

html = get_html(URL)
print(get_html_vivod(html.text))
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-05-29 14:47:26 +0000 UTC

存储最后一个元素而不是多个元素

  • 1

我制作了一个解析器来卸载带有图片的文本,为图片制作了一个单独的列表,我尝试将其添加到列表中以进行输出,但它不会保存所有元素,而只会保存最后一个元素。请告诉我该怎么办?

代码本身:

import uuid
import requests
from bs4 import BeautifulSoup
import csv
import os

URL = 'https://ptk-svarka.ru/catalog/apparaty-poluavtomaticheskoy-svarki-mig'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'accept': '*/*'}
FILE = 'svarka.csv'
HOST = 'upload/image/'


def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_Stranic(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-grid__item js-product-item')
    stranica_svarka=[]
    for item in items:
        stranica_svarka.append(
            item.find('a', class_='b-products__text').get('href'),
            )
    return stranica_svarka

def get_image(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-grid__item js-product-item')
    image = []
    for item in items:
        image.append(
            item.find('img', class_='lozad').get('data-src')
            )
    return  image

def get_html_vivod(stranic, img):
    for i in img:
        img_way = i.split('/')[-1]
    svarka = []
    for url in stranic:
        r = requests.get(url, headers=HEADERS)
        r = r.content
        soup = BeautifulSoup(r, 'html.parser')
        items = soup.find_all('article', class_='b-product__wrapper')
        for item in items:
            svarka.append({
                "title": item.find('h1', class_='b-product__title').get_text(strip=True),
                "articul": item.find('div', class_='b-product__meta').get_text(strip=True).replace('Артикул: ',''),
                "price": item.find('span', class_='b-products__price').find_next('span').get_text(strip=True).replace(' ', '').replace('р', '.00').replace('\xa0', ''),
                "text": item.find('div', class_='b-product-tab__main').get_text(strip=True),
                "image": HOST + img_way
                })
    return svarka

def save_file(svarka, path):
    with open(path, 'w', newline='') as file:
        writer = csv.writer(file, delimiter=';')
        writer.writerow(['Название', 'Артикул', 'Цена', 'Подробное описание', 'Картинка'])
        global item
        for item in svarka:
            writer.writerow((item.get("title"), item.get("articul"), item.get("price"), item.get("text"), item.get("image")))

def parse():
    URL = input('Введите URL: ')
    URL = URL.strip()
    html = get_html(URL)
    if html.status_code == 200:
        stranic = get_Stranic(html.text)
        img = get_image(html.text)
        svarka = get_html_vivod(stranic, img)
        save_file(svarka, FILE)
        print(f' Получено {len(svarka)} сварочных аппаратов')
        os.startfile(FILE)
    else:
        print('Error')


parse()
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-05-28 19:05:39 +0000 UTC

从多张图片中保存一张图片

  • 2

我做了一个解析器,应该将图片下载到我的文件夹:“图片”。但由于某种原因,它保存了最后一个元素而不是很多图片。该怎么办?

编码:

import requests
from bs4 import BeautifulSoup
import csv
import os

URL = 'https://ptk-svarka.ru/catalog/apparaty-poluavtomaticheskoy-svarki-mig'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'accept': '*/*'}
FILE = 'svarka.csv'


def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_image(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-grid__item js-product-item')
    image = []
    for item in items:
        image.append(
            item.find('img', class_='lozad').get('data-src')
            )
    return  image

def safe_image(image):
    for name in image:
        name = name.split('/')[-1]
    for i in image:
        with open('Картинки/' + name, 'wb') as file:
            for chunk in requests.get(i):
                file.write(chunk)

def parse():
    URL = input('Введите URL: ')
    URL = URL.strip()
    html = get_html(URL)
    if html.status_code == 200:
        image = get_image(html.content)
        safe_image(image)
    else:
        print('Error')


parse()
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-05-28 14:21:00 +0000 UTC

错误:PermissionError:[Errno 13] 权限被拒绝

  • 1

我制作了一个从网站解析图片的脚本,我的工作文件夹中有一个“图片”文件夹,我希望将图片上传到那里,但弹出错误

File "123.py", line 43, in safe_image with open(path, 'bw') as file: PermissionError: [Errno 13] Permission denied: 'C:\\Users\\musix\\Desktop\\Работа\\ПТК\\Картинки'

编码:

import requests
from bs4 import BeautifulSoup
import csv
import os

URL = 'https://ptk-svarka.ru/catalog/apparaty-poluavtomaticheskoy-svarki-mig'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'accept': '*/*'}
FILE = 'svarka.csv'


def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_image(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-grid__item js-product-item')
    image = []
    for item in items:
        image.append(
            item.find('img', class_='lozad').get('data-src')
            )
    return  image

def get_folder(img):
    folder = 'Картинки'
    path = os.path.abspath(folder)
    return path

def safe_image(path, img):
    with open(path, 'bw') as file:
        for chunk in img.item_content(8192):
            file.write(chunk)

def parse():
    URL = input('Введите URL: ')
    URL = URL.strip()
    html = get_html(URL)
    if html.status_code == 200:
        img = get_image(html.content)
        path = get_folder(img)
        safe_image(path, img)
        print(img)
    else:
        print('Error')


parse()
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-05-27 19:07:25 +0000 UTC

解析器下载卸载的图片

  • 0

我做了一个解析器,但它会下载未加载的图片。显示此类元素的列表 /themes/ptk/assets/images/ptk-preload.png。我需要其中之一:“ https://ptk-svarka.ru/storage/app/uploads/public/5bd/064/59a/thumb_86_305_305_0_0_crop.jpg ”

这是代码:

import requests
from bs4 import BeautifulSoup
import csv
import os

URL = 'https://ptk-svarka.ru/catalog/apparaty-poluavtomaticheskoy-svarki-mig'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'accept': '*/*'}
FILE = 'svarka.csv'


def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_image(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-grid__item js-product-item')
    image = []
    for item in items:
        image.append(
            item.find('img', class_='lozad').get('src'),
            )
    return  image

def parse():
    URL = input('Введите URL: ')
    URL = URL.strip()
    html = get_html(URL)
    if html.status_code == 200:
        img = get_image(html.content)
        print(img)
    else:
        print('Error')


parse()
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-05-27 16:11:33 +0000 UTC

Python解析器不工作

  • 1

解析器不起作用,我不明白问题是什么,以前一切正常,但现在它给出了错误:

Traceback (most recent call last):
  File "123.py", line 36, in <module>
    parse()
  File "123.py", line 30, in parse
    img = get_image(html)
  File "123.py", line 16, in get_image
    soup = BeautifulSoup(html, 'html.parser')
  File "C:\Users\musix\AppData\Local\Programs\Python\Python38\lib\site-packages\bs4\__init__.py", line 307, in __init__
    elif len(markup) <= 256 and (
TypeError: object of type 'Response' has no len()

这是代码本身:

import requests
from bs4 import BeautifulSoup
import csv
import os

URL = 'https://ptk-svarka.ru/catalog/apparaty-poluavtomaticheskoy-svarki-mig'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'accept': '*/*'}
FILE = 'svarka.csv'


def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_image(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-products')
    image = []
    for img in image:
        image.append(
            item.find('a', class_='b-products__text').get('href')
            )
    return  image

def parse():
    URL = input('Введите URL: ')
    URL = URL.strip()
    html = get_html(URL)
    if html.status_code == 200:
        img = get_image(html)
        print(img)
    else:
        print('Error')


parse()
python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-05-22 13:50:57 +0000 UTC

解析器有必要跟随链接并收集所有信息

  • 1

我需要解析器从一个页面收集所有链接,然后它跟随这些链接并从那里收集所有信息。但是当代码执行时,只显示列表的最后一个组件svarka。

这是代码:

import requests
from bs4 import BeautifulSoup
import csv
import os

URL = 'https://ptk-svarka.ru/catalog/apparaty-poluavtomaticheskoy-svarki-mig'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'accept': '*/*'}
FILE = 'svarka.csv'



def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_Stranic(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-grid__item js-product-item')
    stranica_svarka=[]
    for item in items:
        stranica_svarka.append(
            item.find('a', class_='b-products__text').get('href'),
            )
    return stranica_svarka

def get_html_vivod(stranic):
    for url in stranic:
        r = requests.get(url, headers=HEADERS)
        r = r.content
        soup = BeautifulSoup(r, 'html.parser')
        items = soup.find_all('article', class_='b-product__wrapper')
        svarka = []
        for item in items:
            svarka.append({
                'title': item.find('h1', class_='b-product__title').get_text(strip=True)
                })
    return svarka

def parse():
    URL = input('Введите URL: ')
    URL = URL.strip()
    html = get_html(URL)
    if html.status_code == 200:
        stranic = get_Stranic(html.text)
        svarka = get_html_vivod(stranic)
        print (svarka)
    else:
        print('Error')


parse()

python
  • 1 个回答
  • 10 Views
Martin Hope
Body
Asked: 2020-05-20 15:13:57 +0000 UTC

我正在尝试解析一个站点,但我收到了 KeyError: 'proba' 错误

  • 0

执行程序时显示错误:KeyError: 'proba' 我无法理解问题是什么,请帮忙

import requests
from bs4 import BeautifulSoup
import csv
import os

URL = 'https://ptk-svarka.ru/catalog/apparaty-poluavtomaticheskoy-svarki-mig'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'accept': '*/*'}
FILE = 'svarka.csv'



def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_pages_count(html):
    soup = BeautifulSoup(html, 'html.parser')
    pagination = soup.find_all('span', class_='mhide')
    if pagination:
        return int(pagination[-1].get_text())
    else:
        return 1

def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='b-grid__item js-product-item')
    i = soup.find_all('div', class_='b-navbar')
    svarka = []
    for item in items:
        svarka.append({
            "title": item.find('div', class_='b-products__title').get_text(strip=True),
            "text": item.find('a', class_='b-products__text').get_text(strip=True),
            "label": item.find('ul', class_='b-products__labels').get_text(strip=True).replace(':', ':  '),
            "price": item.find('span', class_='b-products__price').find_next('span').get_text(strip=True).replace(' ', '').replace('р', '').replace('\xa0', '.00'),
            "image": item.find('img', class_='lozad').get('data-src'),
            "articul": item.find('div', class_='b-products__meta').get_text(strip=True).replace('Артикул: ',''),
            "stranica": item.find('a', class_='b-products__text').get('href'),
        })
    for item in i:
        svarka.append({
            "proba": item.find('ul', class_='menu').get_text(strip=True)
            })
    return svarka



def save_file(svarka, path):
    with open(path, 'w', newline='') as file:
        writer = csv.writer(file, delimiter=';')
        writer.writerow(['Название', 'Описание', 'Лейбел', 'Цена', 'Картинка', 'Артикул', 'Ссылка', 'proba'])
        global item
        for item in svarka:
            writer.writerow([item["title"], item["text"], item["label"], item["price"], item["image"], item["articul"], item["stranica"], item["proba"]])

def djfdk ():
    for item2 in i:
        writer.writerow([item2['proba']])


def parse():
    URL = input('Введите URL: ')
    URL = URL.strip()
    html = get_html(URL)
    if html.status_code == 200:
        svarka = get_content(html.text)
        save_file(svarka, FILE)
        print(f'Получено {len(svarka)} сварочных аппаратов')
        os.startfile(FILE)
    else:
        print('Error')


parse()
python
  • 2 个回答
  • 10 Views

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