create account

[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress! by arc7icwolf

View this thread on: hive.blogpeakd.comecency.com
· @arc7icwolf ·
$11.51
[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!
<center>

![cover](https://img.inleo.io/DQmUs9qG3AyLrLfQHdu4ShZPEKBEj9m4Q7KRDgqSFvfh6Kr/cover%20python.jpeg)

***

La versione italiana ![](https://images.ecency.com/DQmQ25zcp9Mna5r5gtLp786kVkVUpkVnQwgG7oWuMo88d7P/optimized_image.jpeg) si trova sotto quella inglese ![](https://images.ecency.com/DQmNuqRpdWgTaWvjwbmaVWSemm13V7viV9jyRyVFHiMSbYA/optimized_image_1_.jpeg)

The italian version ![](https://images.ecency.com/DQmQ25zcp9Mna5r5gtLp786kVkVUpkVnQwgG7oWuMo88d7P/optimized_image.jpeg) is under the english one ![](https://images.ecency.com/DQmNuqRpdWgTaWvjwbmaVWSemm13V7viV9jyRyVFHiMSbYA/optimized_image_1_.jpeg)

***

# Python and Hive: A Tool to Simplify Curation | Work in Progress!

![](https://images.ecency.com/DQmZpFCRtBGSFZ8tZmeykECyXKvxVgh3N6h4zDBSWDVXFvk/divisorio_2.0_inizio.png)

</center>

<div class="text-justify">

My [first Python project](https://peakd.com/hive-139531/@arc7icwolf/engita-python-and-hive-my-first-attempt-with-a-bot-8yt) involved creating a small bot that could upvote and comment on posts under which I had previously left a comment containing a certain keyword: its usefulness is to be able to use only one account to choose if and how much to upvote a post with my secondary account.


In fact, sometimes I might want to upvote only with my main account, sometimes only with my secondary account, sometimes with both but with different percentages... that's why setting up a curation trail with hive.vote in these cases might be too restrictive, while having my own custom bot that allows, each time, to choose what to do enables me to be much more flexible and avoid wasting precious upvotes.


In comparison with the code shared last time I have made some small improvements, some suggested by other users, others added to make the code more robust and less likely to crash unexpectedly.


Now I am finishing some last small details, but meanwhile you can already find the script on [GitHub](https://github.com/Arc7icWolf/upvote-and-comment-bot-main)... or at least you will be able to find it as soon as I set the privacy to “public” 😂 so if you click on the link shortly after this post is published you will sadly see nothing yet.

<br>

## <center>Now let's move onto a new project!</center>

Having (almost) finished the first project, it's time to move on to something different, in an effort to learn new stuff!


This time the idea of what to make comes from a suggestion of @stewie.wieno, who asked me if, using Python, it would be feasible to create something that could make possible the creation of a sort of **curation trail** to support Italian users on Hive.


Therefore, my idea was to design a script that had the following features:
- find posts with a particular tag (e.g., **ita**);
- check if the post is written in **Italian language**;
- check if the post has **at least 500 words** (*or 1000 if the post is written in two languages*).


If these requirements are met, the post is added to a special list.


Here the task of this first script ends.


The list can then be checked **manually** by one or more curators who make sure that the posts are of quality, are not spam and do not violate some Hive rule.


After that I would like to create a second script that would take the cleaned-up list and proceed to upvote the selected posts, leaving each one also a comment.


This would greatly simplify and speed up the curators' work, with the two scripts taking care of almost the entire process automatically.


Of course this is only the beginning, but building such a tool seemed like an interesting exercise, so I wanted to try this little experiment :)

 <br>

## <center>And here's the code!</center>

Below is the code for the first of the two scripts I am working on, already done and ready to be polished:


```python

#!/usr/bin/env python3
"""A script to simplify curation on Hive"""
from beem import Hive
from beem.blockchain import Blockchain
import beem.instance
import os
import json
import markdown
from bs4 import BeautifulSoup
import re
from langdetect import detect_langs, LangDetectException as lang_e

# Instanciate Hive
HIVE_API_NODE = "https://api.deathwing.me"
HIVE = Hive(node=[HIVE_API_NODE])

beem.instance.set_shared_blockchain_instance(HIVE)


def get_block_number():

    if not os.path.exists("last_block.txt"):
        return None

    with open("last_block.txt", "r") as infile:
        block_num = infile.read()
        return int(block_num)


def set_block_number(block_num):

    with open("last_block.txt", "w") as outfile:
        outfile.write(f"{block_num}")


def convert_and_count_words(md_text):
    # Convert text from markdown to HTML
    html = markdown.markdown(md_text)

    # Get text
    soup = BeautifulSoup(html, "html.parser")
    text = soup.get_text()

    # Count text words
    words = re.findall(r"\b\w+\b", text)
    return len(words)


def text_language(text):
    # Detect languages
    try:
        languages = detect_langs(text)
    except lang_e:
        return False, 0

    # Count languages
    num_languages = len(languages)

    # Sort languages from more to less probable
    languages_sorted = sorted(languages, key=lambda x: x.prob, reverse=True)

    # Check most probable languages (up to 2)
    top_languages = (
        languages_sorted[:2] if len(languages_sorted) > 1 else languages_sorted
    )

    # Check it target language is among the top languages
    contains_target_lang = any(lang.lang == "it" for lang in top_languages)

    # Return True/False and number of languages detected
    return contains_target_lang, num_languages


def hive_comments_stream():

    blockchain = Blockchain(node=[HIVE_API_NODE])

    start_block = get_block_number()

    for op in blockchain.stream(
        opNames=["comment"], start=start_block, threading=False, thread_num=1
    ):
        set_block_number(op["block_num"])

        # Skip comments
        if op.get("parent_author") != "":
            continue

        # Check if there's the key "json_metadata"
        if "json_metadata" not in op.keys():
            continue

        # Deserialize 'json_metadata'
        json_metadata = json.loads(op["json_metadata"])

        # Check if there's the key "tags"
        if "tags" not in json_metadata:
            continue

        # Check if there's the tag we are looking for
        if "ita" not in json_metadata["tags"]:
            continue

        post_test = op.get("body")

        # Check post language
        is_valid_language, languages_num = text_language(post_test)

        if is_valid_language == False:
            continue

        # Check post length
        word_count = convert_and_count_words(post_test)

        if languages_num == 1:
            if word_count < 500:
                print("Post is too short")
                continue

        if languages_num > 1:
            if word_count < 1000:
                print("Post is too short")
                continue

        # data of the post
        post_author = op["author"]
        post_permlink = op["permlink"]
        post_url = f"https://peakd.com/@{post_author}/{post_permlink}"
        terminal_message = (
            f"Found eligible post: " f"{post_url} " f"in block {op['block_num']}"
        )
        print(terminal_message)

        with open("urls", "a", encoding="utf-8") as file:
            file.write(post_url + "\n")


if __name__ == "__main__":

    hive_comments_stream()


```

<br>

This time there are no templates or configuration files.


Like last time I would be very happy to receive suggestions and advice on how to make the code even more efficient and correct :)

<br>

>images property of their respective owners

>to support the #OliodiBalena community, @balaenoptera is 3% beneficiary of this post

![](https://images.ecency.com/DQmR3FkFbRrZAA3jYtS2bcrk6ZfoZzCM8W3HFbRBpXBwio3/divisorio_2.0_finale.png)

***

If you've read this far, thank you! If you want to leave an upvote, a reblog, a follow, a comment... well, any sign of life is really much appreciated!

</div>

<center>

![](https://images.ecency.com/DQmdugxRBRJLcSBmbmPD4ttJfVtaset5gGrdyqbETRa1eZp/divisorio_definitivo.gif)

***

Versione italiana ![](https://images.ecency.com/DQmQ25zcp9Mna5r5gtLp786kVkVUpkVnQwgG7oWuMo88d7P/optimized_image.jpeg)

Italian version ![](https://images.ecency.com/DQmQ25zcp9Mna5r5gtLp786kVkVUpkVnQwgG7oWuMo88d7P/optimized_image.jpeg")

***

![cover](https://img.inleo.io/DQmUs9qG3AyLrLfQHdu4ShZPEKBEj9m4Q7KRDgqSFvfh6Kr/cover%20python.jpeg)

# Python e Hive: uno Strumento per Semplificare l'Attività di Curation | Lavori in Corso!

![](https://images.ecency.com/DQmZpFCRtBGSFZ8tZmeykECyXKvxVgh3N6h4zDBSWDVXFvk/divisorio_2.0_inizio.png)

</center>

<div class="text-justify">

Il mio [primo progetto](https://peakd.com/hive-139531/@arc7icwolf/engita-python-and-hive-my-first-attempt-with-a-bot-8yt) scritto in Python ha riguardato la creazione di un piccolo bot che potesse upvotare e commentare i post sotto cui io abbia lasciato in precedenza un commento contenente una determinata parola chiave: la sua utilità è quella di poter utilizzare un solo account per decidere come e se upvotare un post con il mio account secondario.

Alle volte infatti potrei voler upvotare solo con il mio account principale, altre solo con quello secondario, altre ancora con entrambi ma con percentuali diverse... ecco perchè configurare una curation trail con hive.vote in questi casi potrebbe essere troppo limitante, mentre avere un proprio bot personalizzato che consenta, di volta in volta, di scegliere cosa fare permette di essere molto più flessibili ed evitare di sprecare preziosi upvotes.

Rispetto al codice condiviso la scorsa volta ho apportato alcune piccole migliorie, alcune suggeritemi da altri utenti, altre aggiunte per rendere il codice più robusto e meno incline a crash imprevisti.

Ora sto rifinendo alcune ultime piccole cose, ma intanto potete già trovare lo script su [GitHub](https://github.com/Arc7icWolf/upvote-and-comment-bot-main)... o almeno potrete trovarlo appena avrò impostato la privacy su "pubblica"  😂 per cui se clicclate sul link a poca distanza dalla pubblicazione di questo post non vedrete, purtroppo, ancora nulla.

<br>

## <center>Adesso si passa ad un nuovo progetto!</center>

Finito (quasi) il primo progetto, è tempo di passare a qualcosa di diverso, nell'ottica di provare ad imparare cose sempre nuove!

Stavolta l'idea di cosa realizzare deriva da un suggerimento di @stewie.wieno, che mi ha chiesto se, sfruttando Python, fosse possibile creare qualcosa che potesse agevolare la creazione di una sorta di **curation trail** a sostegno degli utenti italiani su Hive.

La mia idea è stata perciò quella di progettare uno script che avesse le seguenti funzioni:
- individuare i post muniti di un particolare tag (es. **ita**);
- controllare che il post sia scritto in **lingua italiana**;
- controllare che il post abbia **almeno 500 parole** (*o 1000 se il post è scritto in due lingue*).

Se questi requisiti sono soddisfatti il post viene aggiunto ad un'apposita lista.

Qui finisce il compito di questo primo script.

La lista può così essere controllata **manualmente** da uno o più curatori che si accertino che i post siano di qualità, non siano spam e non violino qualche regola di Hive.

Dopo di che vorrei creare un secondo script che si occupi di prendere la lista ripulita e proceda ad upvotare i post selezionati, lasciando a ciascuno un commento informativo.

In questo modo il lavoro dei curatori sarebbe notevolmente semplificato e velocizzato, occupandosi i due script di praticamente tutta la procedura in maniera automatizzata.

Ovviamente questo è solo un inizio, ma costruire uno strumento del genere sembrava un esercizio interessante, per cui ho voluto provare a fare questo piccolo esperimento :)

 <br>

## <center>Ed ecco il codice!</center>

A seguire il codice del primo dei due script a cui sto lavorando, già funzionante e pronto per essere rifinito:


```python

#!/usr/bin/env python3
"""A script to simplify curation on Hive"""
from beem import Hive
from beem.blockchain import Blockchain
import beem.instance
import os
import json
import markdown
from bs4 import BeautifulSoup
import re
from langdetect import detect_langs, LangDetectException as lang_e

# Instanciate Hive
HIVE_API_NODE = "https://api.deathwing.me"
HIVE = Hive(node=[HIVE_API_NODE])

beem.instance.set_shared_blockchain_instance(HIVE)


def get_block_number():

    if not os.path.exists("last_block.txt"):
        return None

    with open("last_block.txt", "r") as infile:
        block_num = infile.read()
        return int(block_num)


def set_block_number(block_num):

    with open("last_block.txt", "w") as outfile:
        outfile.write(f"{block_num}")


def convert_and_count_words(md_text):
    # Convert text from markdown to HTML
    html = markdown.markdown(md_text)

    # Get text
    soup = BeautifulSoup(html, "html.parser")
    text = soup.get_text()

    # Count text words
    words = re.findall(r"\b\w+\b", text)
    return len(words)


def text_language(text):
    # Detect languages
    try:
        languages = detect_langs(text)
    except lang_e:
        return False, 0

    # Count languages
    num_languages = len(languages)

    # Sort languages from more to less probable
    languages_sorted = sorted(languages, key=lambda x: x.prob, reverse=True)

    # Check most probable languages (up to 2)
    top_languages = (
        languages_sorted[:2] if len(languages_sorted) > 1 else languages_sorted
    )

    # Check it target language is among the top languages
    contains_target_lang = any(lang.lang == "it" for lang in top_languages)

    # Return True/False and number of languages detected
    return contains_target_lang, num_languages


def hive_comments_stream():

    blockchain = Blockchain(node=[HIVE_API_NODE])

    start_block = get_block_number()

    for op in blockchain.stream(
        opNames=["comment"], start=start_block, threading=False, thread_num=1
    ):
        set_block_number(op["block_num"])

        # Skip comments
        if op.get("parent_author") != "":
            continue

        # Check if there's the key "json_metadata"
        if "json_metadata" not in op.keys():
            continue

        # Deserialize 'json_metadata'
        json_metadata = json.loads(op["json_metadata"])

        # Check if there's the key "tags"
        if "tags" not in json_metadata:
            continue

        # Check if there's the tag we are looking for
        if "ita" not in json_metadata["tags"]:
            continue

        post_test = op.get("body")

        # Check post language
        is_valid_language, languages_num = text_language(post_test)

        if is_valid_language == False:
            continue

        # Check post length
        word_count = convert_and_count_words(post_test)

        if languages_num == 1:
            if word_count < 500:
                print("Post is too short")
                continue

        if languages_num > 1:
            if word_count < 1000:
                print("Post is too short")
                continue

        # data of the post
        post_author = op["author"]
        post_permlink = op["permlink"]
        post_url = f"https://peakd.com/@{post_author}/{post_permlink}"
        terminal_message = (
            f"Found eligible post: " f"{post_url} " f"in block {op['block_num']}"
        )
        print(terminal_message)

        with open("urls", "a", encoding="utf-8") as file:
            file.write(post_url + "\n")


if __name__ == "__main__":

    hive_comments_stream()


```

<br>

Stavolta non ci sono templates o file di configurazione.

Come l'altra volta sarei felicissimo di ricevere suggerimenti e consigli sul come rendere il codice ancora più efficiente e corretto :)

<br>

>immagini di proprietà dei rispettivi proprietari

>a supporto della community #OliodiBalena, il 3% delle ricompense di questo post va a @balaenoptera 

![](https://images.ecency.com/DQmR3FkFbRrZAA3jYtS2bcrk6ZfoZzCM8W3HFbRBpXBwio3/divisorio_2.0_finale.png)

Se sei arrivato a leggere fin qui, grazie! Se hai voglia di lasciare un upvote, un reblog, un follow, un commento... be', un qualsiasi segnale di vita, in realtà, è molto apprezzato!

</div>

Posted Using [InLeo Alpha](https://inleo.io/@arc7icwolf/engita-python-and-hive-a-tool-to-simplify-curation-work-in-progress-2ac)
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 732 others
properties (23)
authorarc7icwolf
permlinkengita-python-and-hive-a-tool-to-simplify-curation-work-in-progress-2ac
categoryhive-146620
json_metadata{"app":"leothreads/0.3","format":"markdown","tags":["hive-146620","python","hive","dev","pob","pimp","cent","inleo"],"canonical_url":"https://inleo.io/@arc7icwolf/engita-python-and-hive-a-tool-to-simplify-curation-work-in-progress-2ac","links":["https://img.inleo.io/DQmUs9qG3AyLrLfQHdu4ShZPEKBEj9m4Q7KRDgqSFvfh6Kr/cover%20python.jpeg)","https://images.ecency.com/DQmQ25zcp9Mna5r5gtLp786kVkVUpkVnQwgG7oWuMo88d7P/optimized_image.jpeg)","https://images.ecency.com/DQmNuqRpdWgTaWvjwbmaVWSemm13V7viV9jyRyVFHiMSbYA/optimized_image_1_.jpeg)","https://images.ecency.com/DQmQ25zcp9Mna5r5gtLp786kVkVUpkVnQwgG7oWuMo88d7P/optimized_image.jpeg)","https://images.ecency.com/DQmNuqRpdWgTaWvjwbmaVWSemm13V7viV9jyRyVFHiMSbYA/optimized_image_1_.jpeg)","https://images.ecency.com/DQmZpFCRtBGSFZ8tZmeykECyXKvxVgh3N6h4zDBSWDVXFvk/divisorio_2.0_inizio.png)","https://peakd.com/hive-139531/@arc7icwolf/engita-python-and-hive-my-first-attempt-with-a-bot-8yt)","https://github.com/Arc7icWolf/upvote-and-comment-bot-main)...","https://api.deathwing.me\"","https://peakd.com/@{post_author}/{post_permlink}\"","https://images.ecency.com/DQmR3FkFbRrZAA3jYtS2bcrk6ZfoZzCM8W3HFbRBpXBwio3/divisorio_2.0_finale.png)","https://images.ecency.com/DQmdugxRBRJLcSBmbmPD4ttJfVtaset5gGrdyqbETRa1eZp/divisorio_definitivo.gif)","https://images.ecency.com/DQmQ25zcp9Mna5r5gtLp786kVkVUpkVnQwgG7oWuMo88d7P/optimized_image.jpeg)","https://images.ecency.com/DQmQ25zcp9Mna5r5gtLp786kVkVUpkVnQwgG7oWuMo88d7P/optimized_image.jpeg\")","https://img.inleo.io/DQmUs9qG3AyLrLfQHdu4ShZPEKBEj9m4Q7KRDgqSFvfh6Kr/cover%20python.jpeg)","https://images.ecency.com/DQmZpFCRtBGSFZ8tZmeykECyXKvxVgh3N6h4zDBSWDVXFvk/divisorio_2.0_inizio.png)","https://peakd.com/hive-139531/@arc7icwolf/engita-python-and-hive-my-first-attempt-with-a-bot-8yt)","https://github.com/Arc7icWolf/upvote-and-comment-bot-main)...","https://api.deathwing.me\"","https://peakd.com/@{post_author}/{post_permlink}\"","https://images.ecency.com/DQmR3FkFbRrZAA3jYtS2bcrk6ZfoZzCM8W3HFbRBpXBwio3/divisorio_2.0_finale.png)","https://inleo.io/@arc7icwolf/engita-python-and-hive-a-tool-to-simplify-curation-work-in-progress-2ac)"],"images":[],"isPoll":false,"dimensions":{}}
created2024-08-27 20:54:21
last_update2024-08-27 20:54:21
depth0
children25
last_payout2024-09-03 20:54:21
cashout_time1969-12-31 23:59:59
total_payout_value5.700 HBD
curator_payout_value5.808 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length16,398
author_reputation496,501,933,694,683
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries
0.
accountbalaenoptera
weight300
max_accepted_payout1,000,000.000 HBD
percent_hbd0
post_id136,587,819
net_rshares45,793,300,653,907
author_curate_reward""
vote details (796)
@discovery-it ·
<div class="pull-left">https://cdn.steemitimages.com/DQmTAn3c753LR7bHCLPo96g9UvRMaPFwaMYn8VQZa85xczC/discovery_logo_colore%20-%20Copia.png</div><br> This post was shared and voted inside the discord by the curators team of <a href="https://discord.gg/cMMp943"> discovery-it</a> <br>Join our <a href = "https://hive.blog/trending/hive-193212"> Community</a> and follow our <a href = "https://hive.vote/dash.php?i=1&trail=discovery-it">Curation Trail</a><br>Discovery-it is also a Witness, vote for us <a href = "https://hivesigner.com/sign/account-witness-vote?witness=discovery-it&approve=true"> here</a>  <br>Delegate to us for passive income. Check our <a href = "https://hive.blog/hive-193212/@discovery-it/delegations-program-80-fee-back"> 80% fee-back Program</a> <hr>
properties (22)
authordiscovery-it
permlinkre-arc7icwolf-jzgfnqqx0t
categoryhive-146620
json_metadata"{"app": "beem/0.24.26"}"
created2024-08-27 23:01:54
last_update2024-08-27 23:01:54
depth1
children0
last_payout2024-09-03 23:01:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length773
author_reputation67,096,321,565,015
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,589,944
net_rshares0
@hiq.smartbot ·
HiQ Smart Bot says
<div class="pull-left">

<img src="https://i.imgur.com/VDg3S7W.gif"></a>

</div>

<div class="pull-right">

@libertycrypto27, the HiQ Smart Bot has recognized your request (1/2) and will start the voting trail.

In addition, @arc7icwolf gets !PIMP from @hiq.redaktion.

![](https://i.imgur.com/plMUJVK.png)

<sub>For further questions, check out https://hiq-hive.com or join our [Discord](https://discord.gg/25Fp5wBvQa). And don't forget to vote [HiQs fucking Witness!](https://vote.hive.uno/@hiq.witness) 😻</sub>

</div>
properties (22)
authorhiq.smartbot
permlinkre-engita-python-and-hive-a-tool-to-simplify-curation-work-in-progress-2ac-20240829t102534z
categoryhive-146620
json_metadata"{"app": "beem/0.24.26"}"
created2024-08-29 10:25:33
last_update2024-08-29 10:25:33
depth1
children0
last_payout2024-09-05 10:25:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length521
author_reputation3,284,924,454,526
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,631,412
net_rshares0
@hivecurators ·
<center><sub>[ 🎉 Upvoted 🎉 ](https://vote.hive.uno/@sagarkothari88)<br/>
| [<sub>Discord</sub>](https://discord.gg/nrxrx2hgfu) | [<sub>Hive Inbox App</sub>](https://inbox.the-hive-mobile.app) | [<sub>Support/Vote</sub>](https://vote.hive.uno/@sagarkothari88) |
|:----:|:----:|:----:|
| [![](https://images.hive.blog/p/X37EMQ9WSwsLaUVnWj5uXRHwjwzR6KfScsHyS24twkWHXTmg7HHYV2Z5mzMViS19T74qMiGUQQ5pZ9VrBbrLP9sHPcULwpp1AJbAW?width=32&height=32)](https://discord.gg/nrxrx2hgfu) | [![](https://images.hive.blog/p/USgKoryE83izTBf93AqTbzm4Dz4uHdFwtDqEw45n7Nesx4YTvkXaHfaWVafxw3jGeXUHj9QofuNSrasC3ibv5k?format=match&mode=fit&width=32&height=32)](https://inbox.the-hive-mobile.app) | [![](https://images.hive.blog/p/2YRZBi4FZVHeQQfitmdxPPgLtSu1HuSyXtTCpRF9N1ZcMUXDB7ptaErLjqFQMaD5TLHTtQEYcossssMUUUwAq1o2AUHkmGeWWML?width=32&height=32)](https://vote.hive.uno/@sagarkothari88) |
</sub></center>
properties (22)
authorhivecurators
permlink20240827t230339488z
categoryhive-146620
json_metadata{"tags":["hive-185924","gift","support","hive-curators","motivate","witness","sagarkothari88"],"format":"markdown","app":"hivecurators_bot"}
created2024-08-27 23:03:42
last_update2024-08-27 23:03:42
depth1
children0
last_payout2024-09-03 23:03:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length882
author_reputation6,181,477,982,082
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries
0.
accountlibertycrypto27
weight10,000
max_accepted_payout100,000.000 HBD
percent_hbd0
post_id136,589,968
net_rshares0
@libertycrypto27 ·
$0.03
Ottime idee e ti seguo con molto interesse in questa tua avventura nella creazione di utili scritp
!discovery 50
!PIMP
!hiqvote
@tipu curate 2
👍  ,
properties (23)
authorlibertycrypto27
permlinkre-arc7icwolf-2024828t1127821z
categoryhive-146620
json_metadata{"tags":["hive-146620","python","hive","dev","pob","pimp","cent","inleo"],"app":"ecency/3.2.0-vision","format":"markdown+html"}
created2024-08-27 23:01:24
last_update2024-08-27 23:01:24
depth1
children4
last_payout2024-09-03 23:01:24
cashout_time1969-12-31 23:59:59
total_payout_value0.017 HBD
curator_payout_value0.017 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length142
author_reputation1,958,168,507,027,429
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,589,935
net_rshares139,966,602,606
author_curate_reward""
vote details (2)
@arc7icwolf ·
Probabilmente tutto si tradurrà solamente in un po' di esercizio e qualcosa di nuovo imparato, però non si sa mai che un domani possa nascerne qualcosa di più utile e concreto :)

Grazie mille per tutto il supporto ed i mega-upvotes!

!PIZZA !LOL !LUV
properties (22)
authorarc7icwolf
permlinkre-libertycrypto27-2024828t10487309z
categoryhive-146620
json_metadata{"tags":["hive-146620","python","hive","dev","pob","pimp","cent","inleo"],"app":"ecency/3.2.0-vision","format":"markdown+html"}
created2024-08-28 08:48:09
last_update2024-08-28 08:48:09
depth2
children2
last_payout2024-09-04 08:48:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length251
author_reputation496,501,933,694,683
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,610,939
net_rshares0
@lolzbot ·
<div class='pull-right'><center><img src="https://lolztoken.com/lolz.png"><br><a href="https://lolztoken.com">lolztoken.com</a></p><br><br><br><br></center></div><p><center><strong>Did you hear about the dyslexic pimp?<br>He bought a warehouse.</strong><br><sub>Credit: <a href="https://peakd.com/@reddit">reddit</a></sub><br>@libertycrypto27, I sent you an <a href="https://lolztoken.com">$LOLZ</a> on behalf of arc7icwolf<br><br>(1/10)<br>Farm <strong><a href='https://lolztoken.com'>LOLZ tokens</a></strong> when you <strong><a href='https://peakd.com/hive-155986/@lolztoken/earn-10percent-apr-on-hive-power-delegations-to-the-lolz-project'>Delegate Hive</a> or <a href='https://peakd.com/hive-155986/@lolztoken/introducing-lolz-defi-now-you'>Hive Tokens</a>.</strong><br>Click to delegate: <a href='https://hivesigner.com/sign/delegateVestingShares?delegator=&delegatee=lolzbot&vesting_shares=10%20HP'>10</a> - <a href='https://hivesigner.com/sign/delegateVestingShares?delegator=&delegatee=lolzbot&vesting_shares=20%20HP'>20</a> - <a href='https://hivesigner.com/sign/delegateVestingShares?delegator=&delegatee=lolzbot&vesting_shares=50%20HP'>50</a> - <a href='https://hivesigner.com/sign/delegateVestingShares?delegator=&delegatee=lolzbot&vesting_shares=100%20HP'>100</a> HP</center></p>
properties (22)
authorlolzbot
permlinkre-re-libertycrypto27-2024828t10487309z-20240828t085006z
categoryhive-146620
json_metadata"{"app": "beem/0.24.19"}"
created2024-08-28 08:50:12
last_update2024-08-28 08:50:12
depth3
children0
last_payout2024-09-04 08:50:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,293
author_reputation196,132,179,798,702
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,610,960
net_rshares0
@luvshares ·
@libertycrypto27, @arc7icwolf<sub>(1/4)</sub> sent you LUV. | <a
    href="https://crrdlx.on.fleek.co/" style="text-decoration:none">tools</a> | <a 
    href="https://discord.gg/K5GvNhcPqR" style="text-decoration:none">discord</a> | <a href="https://peakd.com/c/hive-159259">community </a> | <a 
    href="https://hivewiki.netlify.app" style="text-decoration:none">HiveWiki</a> | <a href="https://ichthys.netlify.app" style="text-decoration:none"><>< daily</a>



<center>Made with <a href="https://peakd.com/@luvshares" target="_blank">LUV</a> by <a href="https://hive.blog/@crrdlx" target="_blank">crrdlx</a></center>
properties (22)
authorluvshares
permlinkre-re-libertycrypto27-2024828t10487309z-20240828t084817z
categoryhive-146620
json_metadata"{"app": "beem/0.24.26"}"
created2024-08-28 08:48:18
last_update2024-08-28 08:48:18
depth3
children0
last_payout2024-09-04 08:48:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length619
author_reputation5,651,102,754,153
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,610,944
net_rshares0
@tipu ·
<a href="https://tipu.online/hive_curator?libertycrypto27" target="_blank">Upvoted  &#128076;</a> (Mana: 40/60) <a href="https://peakd.com/hive/@reward.app/reward-app-quick-guide-updated" target="_blank">Liquid rewards</a>.
properties (22)
authortipu
permlinkre-re-arc7icwolf-2024828t1127821z-20240827t230129z
categoryhive-146620
json_metadata"{"app": "beem/0.24.26"}"
created2024-08-27 23:01:30
last_update2024-08-27 23:01:30
depth2
children0
last_payout2024-09-03 23:01:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length223
author_reputation55,907,731,942,968
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,589,937
net_rshares0
@mrdani12 ·
My dear friends, You are doing great , I get admission In software engineering Now a days I am learning the basic which is C. your work motivate me very much, I love your work ,Keep it up and motivate us , Tell me It is easy for me to learn coding and work for hive blog chain , can I do it ?
properties (22)
authormrdani12
permlinksizino
categoryhive-146620
json_metadata{"app":"hiveblog/0.1"}
created2024-08-29 14:52:36
last_update2024-08-29 14:52:36
depth1
children0
last_payout2024-09-05 14:52:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length292
author_reputation197,536,835,513,225
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries
0.
accounthiveonboard
weight100
1.
accountocdb
weight100
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,635,454
net_rshares0
@pizzabot · (edited)
RE: [ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!
<center>PIZZA!


$PIZZA slices delivered:
@arc7icwolf<sub>(4/10)</sub> tipped @pousinha 
pousinha tipped arc7icwolf 
arc7icwolf tipped stewie.wieno 
arc7icwolf tipped libertycrypto27 


</center>
properties (22)
authorpizzabot
permlinkre-engita-python-and-hive-a-tool-to-simplify-curation-work-in-progress-2ac-20240828t084831z
categoryhive-146620
json_metadata"{"app": "leothreads/pizzabot"}"
created2024-08-28 08:48:30
last_update2024-09-01 20:07:18
depth1
children0
last_payout2024-09-04 08:48:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length195
author_reputation7,459,833,231,431
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,610,947
net_rshares0
@pousinha ·
Bella idea, speriamo vada in porto,
!PIZZA
!BEER
properties (22)
authorpousinha
permlinkre-arc7icwolf-sj237p
categoryhive-146620
json_metadata{"tags":["hive-146620"],"app":"peakd/2024.8.7"}
created2024-08-31 00:11:51
last_update2024-08-31 00:11:51
depth1
children3
last_payout2024-09-07 00:11:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length48
author_reputation57,617,955,028,494
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,684,533
net_rshares0
@arc7icwolf ·
Grazie :)

Probabilmente resterà sempre e solo un'idea, però io comunque come forma di esercizio punto a finire il tutto e creare un qualcosa di funzionante... poi chissà, magari un giorno servirà a qualcosa :)

!LOL !PIZZA
👍  
properties (23)
authorarc7icwolf
permlinkre-pousinha-202491t22659909z
categoryhive-146620
json_metadata{"tags":["hive-146620"],"app":"ecency/3.2.0-vision","format":"markdown+html"}
created2024-09-01 20:06:57
last_update2024-09-01 20:06:57
depth2
children2
last_payout2024-09-08 20:06:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length223
author_reputation496,501,933,694,683
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,770,302
net_rshares1,312,734,939
author_curate_reward""
vote details (1)
@lolzbot ·
<div class='pull-right'><center><img src="https://lolztoken.com/lolz.png"><br><a href="https://lolztoken.com">lolztoken.com</a></p><br><br><br><br></center></div><p><center><strong>Why did the king go to the dentist?<br>To get his teeth crowned.</strong><br><sub>Credit: <a href="https://peakd.com/@reddit">reddit</a></sub><br>@pousinha, I sent you an <a href="https://lolztoken.com">$LOLZ</a> on behalf of arc7icwolf<br><br>(3/10)<br>Delegate Hive Tokens to Farm $LOLZ and earn 110% Rewards.  <a href='https://peakd.com/@lolztoken/introducing-lolz-defi-now-you'>Learn more.</a></center></p>
properties (22)
authorlolzbot
permlinkre-re-pousinha-202491t22659909z-20240901t200715z
categoryhive-146620
json_metadata"{"app": "beem/0.24.19"}"
created2024-09-01 20:07:21
last_update2024-09-01 20:07:21
depth3
children0
last_payout2024-09-08 20:07:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length591
author_reputation196,132,179,798,702
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,770,310
net_rshares0
@pousinha · (edited)
Sicuramente che servirà,
!PGM
properties (22)
authorpousinha
permlinkre-arc7icwolf-sj5xws
categoryhive-146620
json_metadata{"tags":"hive-146620"}
created2024-09-02 02:07:42
last_update2024-09-02 02:08:03
depth3
children0
last_payout2024-09-09 02:07:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length29
author_reputation57,617,955,028,494
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,776,014
net_rshares0
@seki1 ·
Ohhh
This is quite useful...
I'll check the previous post...

Learned a bit about Python in a compulsory course in school, although the language didn't stick😂😂😂😭
properties (22)
authorseki1
permlinkre-arc7icwolf-six6te
categoryhive-146620
json_metadata{"tags":["hive-146620"],"app":"peakd/2024.8.7"}
created2024-08-28 08:41:39
last_update2024-08-28 08:41:39
depth1
children2
last_payout2024-09-04 08:41:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length161
author_reputation149,741,287,461,925
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,610,850
net_rshares0
@arc7icwolf ·
I'm just scratching the basics, but the possibility seems so many that I couldn't help but attempt to write something :)

I'm trying to learn it on my own, but I can confirm that a lot of exercise is required not to forget what one has learned in the previous days/weeks/months !LOL I had to stop for a few months and I almost forgot everything 😂
properties (22)
authorarc7icwolf
permlinkre-seki1-2024828t111243109z
categoryhive-146620
json_metadata{"tags":["hive-146620"],"app":"ecency/3.2.0-vision","format":"markdown+html"}
created2024-08-28 09:12:45
last_update2024-08-28 09:12:45
depth2
children1
last_payout2024-09-04 09:12:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length346
author_reputation496,501,933,694,683
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,611,237
net_rshares0
@lolzbot ·
<div class='pull-right'><center><img src="https://lolztoken.com/lolz.png"><br><a href="https://lolztoken.com">lolztoken.com</a></p><br><br><br><br></center></div><p><center><strong>Did you know that the first french fries weren’t cooked in France?<br>They were cooked in Greece.</strong><br><sub>Credit: <a href="https://peakd.com/@belhaven14">belhaven14</a></sub><br>@seki1, I sent you an <a href="https://lolztoken.com">$LOLZ</a> on behalf of arc7icwolf<br><br>(4/10)<br>NEW:  <a href='https://peakd.com/@lolz.burner/posts'>Join LOLZ's Daily Earn and Burn Contest and win $LOLZ</a></center></p>
properties (22)
authorlolzbot
permlinkre-re-seki1-2024828t111243109z-20240828t091305z
categoryhive-146620
json_metadata"{"app": "beem/0.24.19"}"
created2024-08-28 09:13:09
last_update2024-08-28 09:13:09
depth3
children0
last_payout2024-09-04 09:13:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length596
author_reputation196,132,179,798,702
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,611,240
net_rshares0
@slobberchops ·
Beautiful Soup, interesting.., I haven't tried scraping as yet. You can get a post count using BEEM, I can dig it out of my script if you like. BEEM is also deprecated and I am going to re-write my BOT soon, using alternative code.
properties (22)
authorslobberchops
permlinkre-arc7icwolf-sixwry
categoryhive-146620
json_metadata{"tags":["hive-146620"],"app":"peakd/2024.8.7"}
created2024-08-28 18:02:24
last_update2024-08-28 18:02:24
depth1
children3
last_payout2024-09-04 18:02:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length231
author_reputation2,427,110,508,205,057
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,618,990
net_rshares0
@arc7icwolf ·
$0.08
I was looking for a way to build a word counter of my own and Beautiful Soup seemed like the way to go... I had no idea BEEM already had its own counter 😅 I just started using it and I still have to check a lot of stuff! :)

>BEEM is also deprecated

Really!? What a sad news, I was just starting to experiment with it... is there already an alternative around?

I started learning python roughly 2 months ago and I thought that doing something tangible on Hive could help me stay motivated and focused :)

Btw, many thanks for the support! This evening I already made some improvements to the code above:
1) I added one more func to create a new file every 24 hours, with each file having in its name the date it was created
2) I polished a bit the code and made it more readable

Now I'm going to work on the other two scripts I'd like to write!
👍  
properties (23)
authorarc7icwolf
permlinkre-slobberchops-2024828t22505949z
categoryhive-146620
json_metadata{"tags":["hive-146620"],"app":"ecency/3.2.0-vision","format":"markdown+html"}
created2024-08-28 20:50:57
last_update2024-08-28 20:50:57
depth2
children2
last_payout2024-09-04 20:50:57
cashout_time1969-12-31 23:59:59
total_payout_value0.038 HBD
curator_payout_value0.039 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length847
author_reputation496,501,933,694,683
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,621,326
net_rshares308,495,309,640
author_curate_reward""
vote details (1)
@slobberchops ·
This will give you some idea of how to get the body content size using BEEM.

    # Get Approximate Bodysize of post
    bodysize = BEEMComment_post.body.split(" ", post.body.count(" "))
    bodylen = len(bodysize)

BEEM was maintained by an ex-witness named @holger80 who vanished some time ago. His library remains but it's getting more outdated every day.

I am starting to look at the HIVE Condenser API, it's here:
https://developers.hive.io/apidefinitions/condenser-api.html

>I started learning python roughly 2 months ago and I thought that doing something tangible on Hive could help me stay motivated and focused :)

Do it, it's very rewarding...
properties (22)
authorslobberchops
permlinkre-arc7icwolf-siy573
categoryhive-146620
json_metadata{"tags":["hive-146620"],"app":"peakd/2024.8.7"}
created2024-08-28 21:04:15
last_update2024-08-28 21:04:15
depth3
children1
last_payout2024-09-04 21:04:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length657
author_reputation2,427,110,508,205,057
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,621,511
net_rshares0
@stewie.wieno ·
$0.03
Credo che sia un progetto molto molto interessante e mi farebbe piacere anche un commento da parte di @libertycrypto27 con cui avevo già affrontato l’argomento.

Domanda da non addetto ai lavori: ma poi questo script dove gira? Su un server? E come legge le informazioni sulla blockchain per poi curare?
👍  
properties (23)
authorstewie.wieno
permlinkre-arc7icwolf-2024828t0415246z
categoryhive-146620
json_metadata{"content_type":"general","type":"comment","tags":["hive-146620","python","hive","dev","pob","pimp","cent","inleo"],"app":"ecency/3.1.5-mobile","format":"markdown+html"}
created2024-08-27 22:41:51
last_update2024-08-27 22:41:51
depth1
children3
last_payout2024-09-03 22:41:51
cashout_time1969-12-31 23:59:59
total_payout_value0.016 HBD
curator_payout_value0.017 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length303
author_reputation178,883,187,005,929
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,589,668
net_rshares137,507,023,525
author_curate_reward""
vote details (1)
@arc7icwolf ·
Sì, per essere sempre operativo andrebbe messo su un server (o comunque su un pc che stia sempre accesso), in modo da poter monitorare la chain 24 ore al giorno; ora come ora, invece, è attivo solo quando lo testo sul mio pc (che però è un portatile, per cui sta acceso solo quando lo utilizzo).

>E come legge le informazioni sulla blockchain per poi curare?

La spiegazione tecnica non te la saprei dare 😅 perchè il modo in cui collegarsi è stato "programmato" all'inizio da chi ha sviluppato Steem/Hive, per cui chi è arrivato dopo può limitarsi ad utilizzare il lavoro già fatto.

Nel mio codice la parte che consente il collegamento ad Hive è questa:

```python

# Instanciate Hive
HIVE_API_NODE = "https://api.deathwing.me"
HIVE = Hive(node=[HIVE_API_NODE])

beem.instance.set_shared_blockchain_instance(HIVE)

```

mentre quest'altra è la parte che si occupa di leggere tutte le transazioni della chain che siano classificate come "comment" (i post ed i commenti rientrano entrambi in questa categoria):

```python

    for op in blockchain.stream(
        opNames=["comment"], start=start_block, threading=False, thread_num=1
    ):

```

Una volta connesso ad Hive ed avendo a disposizione i dati sulle transazioni che mi interessano, posso aggiungere parti di codice che si occupino di analizzare quei dati (ad es. distinguendo i post dai commenti) e di effettuare determinate operazioni quando viene incontrato un dato che mi interessa (ad es. upvotare e/o commentare un post, nel primo script che ho fatto, o salvarne il link in un file di testo, nello script che ho pubblicato in questo post).

Ora pensavo di rifinire il codice che ho pubblicato qui (la lista con i link ad esempio penso sarebbe più chiara se avesse un numero crescente di fronte ad ogni link, così per un eventuale curatore sarebbe più facile tenere traccia dell'ultimo link che ha controllato, soprattutto se dovesse coordinarsi con altri curatori) e poi pensavo di scrivere il secondo script (ossia quello che si occuperebbe di upvotare e commentare i link selezionati, che poi in buona parte potrei utilizzare il codice del primo bot che ho creato, che tanto faceva già qualcosa di simile).

Da ultimo vorrei anche crearne un terzo che si occupi di generare un post automatico di riepilogo in cui siano riportati tutti i post upvotati quel giorno: in linea teorica i guadagni di questo post potrebbero così essere utilizzati per pagare i costi di un eventuale server e ricompensare i curatori per la loro attività.

!PIZZA !LOL
👍  
properties (23)
authorarc7icwolf
permlinkre-stewiewieno-2024828t11556507z
categoryhive-146620
json_metadata{"tags":["hive-146620","python","hive","dev","pob","pimp","cent","inleo"],"app":"ecency/3.2.0-vision","format":"markdown+html"}
created2024-08-28 09:05:57
last_update2024-08-28 09:05:57
depth2
children2
last_payout2024-09-04 09:05:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,512
author_reputation496,501,933,694,683
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,611,121
net_rshares4,643,792,775
author_curate_reward""
vote details (1)
@lolzbot ·
<div class='pull-right'><center><img src="https://lolztoken.com/lolz.png"><br><a href="https://lolztoken.com">lolztoken.com</a></p><br><br><br><br></center></div><p><center><strong>What happened when the cows escaped from the paddock?<br>Udder Chaos!</strong><br><sub>Credit: <a href="https://peakd.com/@reddit">reddit</a></sub><br>@stewie.wieno, I sent you an <a href="https://lolztoken.com">$LOLZ</a> on behalf of arc7icwolf<br><br>(2/10)<br>NEW:  <a href='https://peakd.com/@lolz.burner/posts'>Join LOLZ's Daily Earn and Burn Contest and win $LOLZ</a></center></p>
properties (22)
authorlolzbot
permlinkre-re-stewiewieno-2024828t11556507z-20240828t091006z
categoryhive-146620
json_metadata"{"app": "beem/0.24.19"}"
created2024-08-28 09:10:12
last_update2024-08-28 09:10:12
depth3
children0
last_payout2024-09-04 09:10:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length567
author_reputation196,132,179,798,702
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,611,203
net_rshares0
@stewie.wieno ·
È un progetto davvero interessante. Ti faccio i miei complimenti!
properties (22)
authorstewie.wieno
permlinkre-arc7icwolf-2024828t131955350z
categoryhive-146620
json_metadata{"content_type":"general","type":"comment","tags":["hive-146620","python","hive","dev","pob","pimp","cent","inleo"],"app":"ecency/3.1.5-mobile","format":"markdown+html"}
created2024-08-28 11:19:57
last_update2024-08-28 11:19:57
depth3
children0
last_payout2024-09-04 11:19:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length65
author_reputation178,883,187,005,929
root_title"[ENG/ITA] Python and Hive: A Tool to Simplify Curation | Work in Progress!"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id136,612,894
net_rshares0