[PYTHON] [Selen] Verwenden Sie die while-Anweisung, um wiederholt zur "nächsten Seite" zu wechseln.

Tips

1. Iterative Verarbeitung des Seitenübergangs durch die While-Anweisung (funktioniert)

selenium_success.py


#Rufen Sie die URL der nächsten Seite (zweite Seite) der ersten Seite ab
next_page_url = driver.find_element_by_class_name("js-next-page-link").get_attribute("href")

#Schleifenverarbeitung von der zweiten bis zur letzten Seite
while len(next_page_url) > 0:
	driver.get(next_page_url)
	#Stellen Sie die Wartezeit für das Laden des Elements auf 10 Sekunden ein
	driver.implicitly_wait(10)
	next_page_html = driver.page_source.encode('utf-8')

#Schreiben Sie hier den Implementierungscode für jeden Prozess

	next_page_url = driver.find_element_by_class_name("js-next-page-link").get_attribute("href")
else:
	print("\n\n Die Verarbeitung der letzten Seite ist abgeschlossen.\n\n")

2. Iterative Verarbeitung des Seitenübergangs durch for-Anweisung (stoppt in der Mitte)

selenium_failure.py


#Rufen Sie die URL der nächsten Seite (zweite Seite) der ersten Seite ab
next_page_url = driver.find_element_by_class_name("js-next-page-link").get_attribute("href")

#Schleifenverarbeitung von der zweiten bis zur letzten Seite
if len(next_page_url) != 0:
	driver.get(next_page_url)
	#Stellen Sie die Wartezeit für das Laden des Elements auf 10 Sekunden ein
	driver.implicitly_wait(10)
	next_page_html = driver.page_source.encode('utf-8')

#Schreiben Sie hier den Implementierungscode für jeden Prozess

	next_page_url = driver.find_element_by_class_name("js-next-page-link").get_attribute("href")
else:
	print("\n\n Die Verarbeitung der letzten Seite des Artikelsuchergebnisses ist abgeschlossen.\n\n")

Code tatsächlich erstellt

selenium_python_multi_pages_while.py


# coding: utf-8
import time, argparse, datetime
from selenium import webdriver
from bs4 import BeautifulSoup
from pprint import pprint
import pandas as pd
import numpy as np
import time

###Konstante###
url = "http://qiita.com"

###Variable Initialisierungsdeklaration###
pagenum = 0
#Empfangen Sie Befehlszeilenargumente
parser = argparse.ArgumentParser()

#Erhält nur ein Befehlszeilenargument
parser.add_argument('-word', '--search_word', default='Python', help='Bitte geben Sie das Suchwort an, das auf der Artikelsuchseite von Qiita eingegeben werden soll.')
parser.add_argument('-max', '--max_page_num', default='50', help='Wenn mehrere Seiten anwendbar sind und Sie eine Obergrenze für die Anzahl der Seiten festlegen möchten, für die Daten erfasst werden können, geben Sie die Obergrenze an.')
args = parser.parse_args()
search_word = args.search_word
num_of_search_pages = int(args.max_page_num)

print("\n\n Eingegebene Suchzeichenfolge:", args.search_word, "\n")
print("Wenn sich die Artikellistenseite über mehrere Seiten erstreckt{}Der Vorgang wird bis zur Seite gestoppt.".format(num_of_search_pages))

#Name der Ausgabedatei
output_file_name = str(datetime.datetime.now()) + "_Search: " + search_word

###Methodendefinition###
def proceed_each_page(page_num, this_page_html, driver):
	from bs4 import BeautifulSoup
	this_soup = BeautifulSoup(this_page_html, 'lxml')
	print("""
	================================
		   {}Verarbeitungsseite...	
	===============================
	""".format(page_num))
	results = this_soup.find_all("h1", class_="searchResult_itemTitle")
	#Speichern Sie die Ergebnisse in der Artikeltitelliste
	this_page_title_list = []
	for result in results:
		title_texts = result.findAll("a")
		title_texts = str(title_texts[0]).replace("<em>", "").replace("</em>", "").split(">")[1:]
		title_texts = title_texts[0]
		pos = title_texts.find('</a')
		title_text = title_texts[:pos]
		this_page_title_list.append(title_text)

	console_message = "Auf dem Suchergebnisbildschirm{}Anzahl der Artikel auf der Seite:  ".format(pagenum) + str(len(this_page_title_list)) + "\n\n"
	pprint(this_page_title_list)
	
	#Speichern Sie die Ergebnisse in der URL-Liste
	this_page_url_list = []
	for result in results:
		href = result.findAll("a")[0].get("href")
		this_page_url_list.append(str(url + href))

	#Speichern Sie Mitwirkende in der Mitwirkendenliste
	# <div class="searchResult_header"><a href="/niiku-y">niiku-y</a>Ist 2019/08/Gepostet in 07</div>
	this_page_author_list = []
	
	results = this_soup.findAll(class_="searchResult_header")
	for result in results:
		author = result.findAll("a")[0].get("href")
		author = author.replace("/", "")
		this_page_author_list.append(author)

	#Speichern Sie die Daten, die der Artikel von der n-ten Seite erhalten hat
	this_page_num_list = [page_num]*len(this_page_title_list)

	##Holen Sie sich einen Screenshot der n-ten Seite des Suchergebnisbildschirms
	#Erhalten Sie vertikale und horizontale Daten zur Bildschirmgröße
	w = driver.execute_script("return document.body.scrollWidth;")
	h = driver.execute_script("return document.body.scrollHeight;")
	driver.set_window_size(w,h)
	#Geben Sie den Speicherort und den Dateinamen der Bildschirmaufnahmedatei (Bilddatei) an.
	FILENAME = "./{search_word}_page{number}_screen_{datetime}.png ".format(search_word=search_word, number=page_num, datetime=str(datetime.datetime.now()))  
	#Bild speichern
	driver.save_screenshot(FILENAME)
	
	#Gibt jede Liste zurück, die Informationen zur verarbeiteten Webseite enthält
	return [this_page_num_list, this_page_author_list, this_page_title_list, this_page_url_list, driver]

###Ende der Methodendefinition

###Hauptverarbeitung
driver = webdriver.Chrome()

#Greifen Sie auf die oberste Seite von Qiita zu
driver.get(url)

#Geben Sie ein Schlüsselwort in das Artikelsuchfeld ein
search = driver.find_element_by_class_name("st-Header_searchInput")
search.send_keys(search_word)
search.submit()
time.sleep(5)

#Rufen Sie den HTML-Code der ersten Seite der Artikellistenseite der Suchergebnisse ab
first_page_html = driver.page_source.encode('utf-8')

#Verarbeiten Sie die erste Seite
page_num = 1
all_page_num_list = []
all_page_author_list = []
all_page_title_list = []
all_page_url_list = []

this_page_num_list, this_page_author_list, this_page_title_list, this_page_url_list, driver = proceed_each_page(page_num, first_page_html, driver)

all_page_num_list = all_page_num_list + this_page_num_list
all_page_author_list = all_page_author_list + this_page_author_list
all_page_title_list = all_page_title_list + this_page_title_list
all_page_url_list = all_page_url_list + this_page_url_list

#Wenn die empfangene Webseite, die vom Treiber angewiesen werden soll, die nächste Seite enthält, fahren Sie mit der nächsten Seite fort.
# next_page_Der Rückgabewert von url ist der Listentyp. Wenn das obige Tag mit der nächsten Seite nicht vorhanden ist, wird eine leere Liste zurückgegeben
next_page_url = driver.find_element_by_class_name("js-next-page-link").get_attribute("href")
print("=======")
print(type(next_page_url))
print("=======")

#Ab der zweiten Seite(Letzte Seite oder{num_of_search_pages}Die kleinere Seitenzahl bis zur Seite)Schleifenverarbeitung bis zu
# (num_of_search_pages)Um die Seite zur letzten Seite zu machen{num_of_search_pages -1)Blättern Sie die nächste Seite
while len(next_page_url) > 0 and page_num <= (num_of_search_pages - 1):
	driver.get(next_page_url)
	#Stellen Sie die Wartezeit für das Laden des Elements auf 10 Sekunden ein
	driver.implicitly_wait(10)
	#time.sleep(5)
	next_page_html = driver.page_source.encode('utf-8')
	page_num += 1
	this_page_num_list, this_page_author_list, this_page_title_list, this_page_url_list, driver = proceed_each_page(page_num, next_page_html, driver)
	all_page_num_list = all_page_num_list + this_page_num_list
	all_page_author_list = all_page_author_list + this_page_author_list
	all_page_title_list = all_page_title_list + this_page_title_list
	all_page_url_list = all_page_url_list + this_page_url_list
	next_page_url = driver.find_element_by_class_name("js-next-page-link").get_attribute("href")
	print("=======")
	print(next_page_url)
	print(len(next_page_url))
	print("=======")
else:
	print("\n\n Die Verarbeitung der letzten Seite des Artikelsuchergebnisses ist abgeschlossen.\n\n")

#Ausgabe einer Excel-Datei
print("\n\n Geben Sie die erfassten Suchergebnisdaten in eine Excel-Datei aus.\n\m")
data = np.array([all_page_num_list, all_page_author_list, all_page_title_list, all_page_url_list]).T

index_list = list(range(len(all_page_num_list)))
column_list = ['Seitenzahl im Suchergebnisbildschirm veröffentlichen', 'Mitwirkender', 'Artikelüberschrift', 'Artikel-URL']
output_df = pd.DataFrame(data, columns=column_list, index=index_list)
pprint(output_df)

#Geben Sie das Ergebnis in eine Excel-Datei aus
output_df.to_excel('./'+output_file_name + '.xlsx', sheet_name='Qiita_Articles_list')

#Schließen und löschen Sie (freier Speicher) die Treiberinstanz, die für den automatischen Zugriff auf die Webseite erstellt wurde
time.sleep(5)
driver.close()
driver.quit()

(Wie benutzt man)

Console


$ python  selenium_python_multi_pages_while.py --help
usage: selenium_python_multi_pages_while.py [-h] [-word SEARCH_WORD]
                                            [-max MAX_PAGE_NUM]

optional arguments:
  -h, --help            show this help message and exit
  -word SEARCH_WORD, --search_word SEARCH_WORD
Bitte geben Sie das Suchwort an, das auf der Artikelsuchseite von Qiita eingegeben werden soll.
  -max MAX_PAGE_NUM, --max_page_num MAX_PAGE_NUM
Wenn mehrere Seiten anwendbar sind und Sie eine Obergrenze für die Anzahl der Seiten festlegen möchten, für die Daten erfasst werden können, geben Sie die Obergrenze an.
$ 

(Ausführungsbeispiel und Ergebnis)

Console


$ python  selenium_python_multi_pages_while.py -word Haskell -max 5


Suchzeichenfolge eingegeben: Haskell

Wenn sich die Artikellistenseite auf mehrere Seiten erstreckt, wird der Vorgang nach 5 Seiten beendet.

	================================
Bearbeitung der ersten Seite...
	===============================

['MD5 mit Haskell#Haskell',
 'stylish-Machen Sie haskell kompatibel mit HexFloatLiterals und Numeric Underscores',
 'Haskell Tutorial(Haskell Day 2016)',
 'Erstellen Sie die schnellste Entwicklungsumgebung mit der Haskell-Erweiterung von VS Code',
 'stylish-Stellen Sie sicher, dass haskell BlockArguments entspricht',
 'Verwenden von Functor mit Haskell',
 'Docker unter Windows 10 Home+Erstellen einer Haskell-Umgebung mit VS Code',
 'Docker +Haskells Hello World Build',
 'Spielen Sie mit der Haskell-Typklasse',
 'Über Haskell's entweder']
=======
<class 'str'>
=======

	================================
Bearbeitung der zweiten Seite...
	===============================

['Haskell Funktionstypen und Curry#Haskell',
 'Haskell und SQLite',
 'Erste Schritte mit Haskell',
 'Haskell/Eine Sammlung von Referenzen zum Suchen der Bedeutung von GHC-Symbolen',
 'Approaching Haskell',
 'Haskell Primer Article Memorandum',
 'Lesen Sie Haskell in Haskell eingeben',
 '[Haskell] Some memo about learning haskell',
 'Erste Schritte mit Haskell-Stapelinstallation und -konfiguration',
 'Ich habe einen Edelstein namens Haskell erstellt, der Haskells Code in Ruby einbettet!']
=======
https://qiita.com/search?page=3&q=Haskell
41
=======

	================================
Bearbeitung der dritten Seite...
	===============================

['Lesen Sie Haskell in Haskell eingeben',
 'Bereiten Sie die Haskell-Entwicklungsumgebung mit Visual Studio Code vor',
 'Warum Haskell lernen?',
 '[Haskell] Some memo about learning haskell',
 'Installationshinweise für Haskell',
 "Konnte nicht mit VS Code't Client starten Haskell IDE erscheint (Windows 10)",
 'Hasskell Stack-Verwenden wir es im Modus',
 'Haskell studieren Teil 1-Haskell Umweltbau',
 'Haskeller versuchte mit Rust anzufangen',
 'Richtlinien für den Einstieg in Haskell als Fortgeschrittener']
=======
https://qiita.com/search?page=4&q=Haskell
41
=======

	================================
Verarbeitung Seite 4...
	===============================

['Haskell im Atom Editor',
 'Erstellen Sie mit Haskell einen Reverse-Polish-Notationsrechner',
 'Ide im Atom-Editor-Schritte zur Verwendung von Haskell',
 'Berühren Sie Haskell auf dem Mac Note 0.1',
 'Ich habe Haskell gestartet',
 'ATOM ide-Installationsverfahren für Hashkell (MacOS X)',
 '[Übersetzung] Unterschied zwischen PureScript und Haskell\u3000+α',
 'Haskell Memo',
 'Aufbau der Haskell-Entwicklungsumgebung unter Windows 10',
 'Sie können in Haskell essen!!']
=======
https://qiita.com/search?page=5&q=Haskell
41
=======

	================================
Verarbeitung Seite 5...
	===============================

['Haskell Weekly News Japanische Version(Versuch) (5/8)',
 'Vollständige Nachricht für Haskell-Experten auf der ganzen Welt',
 'Implementierung der Quicktyp-Haskell-Ausgabe zum Generieren von Code für jede Sprache aus JSON',
 'haskell-ide-Motoreinführung',
 'Der Punkt, der in die Umgebungskonstruktion von Haskell of VS Code unter macOS passt',
 'Implementieren Sie das Go Tool mit Haskell',
 'Haskell($)Wann(.)Der Unterschied von',
 'Antwort von Samuel Gélineau Teil 1(Übersetzung)',
 'Haskell Umwelt Bau Memo',
 'Haskellers wöchentlicher Rust Introductory Challenge Tag 1#Rust']
=======
https://qiita.com/search?page=6&q=Haskell
41
=======


Die Verarbeitung der letzten Seite der Artikelsuchergebnisse ist abgeschlossen.




Die erfassten Suchergebnisdaten werden in eine Excel-Datei ausgegeben.
\m
Seitenzahl im Suchergebnisbildschirm veröffentlichen Gepostet von\
0                1          Tatsuki-I
1                1          mod_poppo
2                1           hiratara
3                1             sgmryk
4                1      sparklingbaby
5                1         oskats1987
6                1     atsuyoshi-muta
7                1             dd0125
8                1         oskats1987
9                1             Izawa_
10               2          Tatsuki-I
11               2        satosystems
12               2            a163236
13               2        takenobu-hs
14               2         pumbaacave
15               2               F_cy
16               2              nka0i
17               2          zhupeijun
18               2      sparklingbaby
19               2         gogotanaka
20               3              nka0i
21               3          legokichi
22               3              arowM
23               3          zhupeijun
24               3             tnoda_
25               3            yutasth
26               3        t-mochizuki
27               3       CPyRbJvCHlCs
28               3            kanimum
29               3           Lugendre
30               4              eielh
31               4       inatatsu_csg
32               4       busyoumono99
33               4       hiroyuki_hon
34               4              Cj-bc
35               4  nakamurau1@github
36               4         hiruberuto
37               4             sahara
38               4       kitsukitsuki
39               4         reotasosan
40               5          imokurity
41               5         reotasosan
42               5              algas
43               5         dyoshikawa
44               5                dsm
45               5        kwhrstr1206
46               5         TTsurutani
47               5         reotasosan
48               5              1ain2
49               5          Tatsuki-I

Artikelüberschrift\
0 Haskell MD5#Haskell
1   stylish-haskell zu Hex Float Literals und Numeric Unders...
2 Haskell Tutorial(Haskell Day 2016)
3 Erstellen Sie die schnellste Entwicklungsumgebung mit der Haskell-Erweiterung von VS Code
4                stylish-Stellen Sie sicher, dass haskell BlockArguments entspricht
5 Verwenden von Functor mit Haskell
6 Docker unter Windows 10 Home+Erstellen einer Haskell-Umgebung mit VS Code
7                   Docker +Haskells Hello World Build
8 Spielen Sie mit der Haskell-Formklasse
9 Über Haskell's Entweder
10 Haskell-Funktionstypen und Curry#Haskell
11 Haskell und SQLite
12 Erste Schritte mit Haskell
13                   Haskell/Eine Sammlung von Referenzen zum Suchen der Bedeutung von GHC-Symbolen
14                                Approaching Haskell
15 Haskell-Einführungsartikel-Memorandum
16 Lesen Sie die Eingabe von Haskell in Haskell
17         [Haskell] Some memo about learning haskell
18 Erste Schritte mit Haskell-Stapelinstallation und -konfiguration
19 Ich habe einen Edelstein namens Haskell erstellt, der Haskells Code in Ruby einbettet!
20 Lesen Sie die Eingabe von Haskell in Haskell
21 Bereiten Sie die Haskell-Entwicklungsumgebung mit Visual Studio Code vor
22 Warum Haskell lernen?
23         [Haskell] Some memo about learning haskell
24 Haskell-Installationshinweise
25 VS-Code konnte nicht't Client starten Haskell IDE kommt heraus (Wi...
26 Stapel haskell-Verwenden wir es im Modus
27 Haskell-Studie Teil 1-Haskell Umweltbau
28 Haskeller hat mit Rust angefangen
29 Richtlinien für den Einstieg in Haskell als Zwischenstufe
30 Haskell im Atom Editor
31 Erstellen Sie mit Haskell einen Reverse-Polish-Notationsrechner
32 ide im Atom Editor-Schritte zur Verwendung von Haskell
33 Berühren Sie Haskell auf dem Mac Note 0.1
34 Ich habe Haskell gegründet
35 ATOM ide-Installationsverfahren für Hashkell (MacOS X)
36 [Übersetzung] Unterschied zwischen PureScript und Haskell + α
37 Haskell Hinweis
38 Erstellen einer Haskell-Entwicklungsumgebung unter Windows 10
39 Sie können in Haskell essen!!
40 Haskell Weekly News Japanische Ausgabe(Versuch) (5/8)
41 Vollständige Nachricht an Haskell-Experten auf der ganzen Welt
42 Implementierte Haskell-Ausgabe vom Quicktyp, um Code für jede Sprache aus JSON zu generieren
43                               haskell-ide-Motoreinführung
44 Der Punkt, der in die Umgebungskonstruktion von Haskell of VS Code unter macOS passt
Implementieren Sie 45 Go Tool mit Haskell
46 Haskell($)Wann(.)Der Unterschied von
47 Antwort von Samuel Gélineau Teil 1(Übersetzung)
48 Haskell Umwelt Bau Memo
49 Haskellers wöchentlicher Rust Introductory Challenge Tag 1#Rust

Artikel-URL
0   http://qiita.com/Tatsuki-I/items/6d4a2d9f767ae...
1   http://qiita.com/mod_poppo/items/418da906f6621...
2   http://qiita.com/hiratara/items/169b5cb83b0adb...
3   http://qiita.com/sgmryk/items/bc99efe36ad1c910...
4   http://qiita.com/sparklingbaby/items/a46f299dd...
5   http://qiita.com/oskats1987/items/30f9078c5096...
6   http://qiita.com/atsuyoshi-muta/items/9dd10d48...
7   http://qiita.com/dd0125/items/a141000ead36b382...
8   http://qiita.com/oskats1987/items/dcd46780ff5e...
9   http://qiita.com/Izawa_/items/ed0579a0e7d93e5c...
10  http://qiita.com/Tatsuki-I/items/d1d122107da8c...
11  http://qiita.com/satosystems/items/32bf104a041...
12  http://qiita.com/a163236/items/5e0d0e373e87ca8...
13  http://qiita.com/takenobu-hs/items/b95f0a4409c...
14  http://qiita.com/pumbaacave/items/17e6699d4db8...
15   http://qiita.com/F_cy/items/9c49e351196943e38ad9
16  http://qiita.com/nka0i/items/d44f0c6d4df1ef582fd3
17  http://qiita.com/zhupeijun/items/4abcc5fa1cdce...
18  http://qiita.com/sparklingbaby/items/a901cb3a7...
19  http://qiita.com/gogotanaka/items/78a3ffd04abc...
20  http://qiita.com/nka0i/items/d44f0c6d4df1ef582fd3
21  http://qiita.com/legokichi/items/8e7a68ffee522...
22  http://qiita.com/arowM/items/0305d4f439752f285438
23  http://qiita.com/zhupeijun/items/4abcc5fa1cdce...
24  http://qiita.com/tnoda_/items/22b265fe9ad8ee1e...
25  http://qiita.com/yutasth/items/28af2eb0371f645...
26  http://qiita.com/t-mochizuki/items/d831df3a920...
27  http://qiita.com/CPyRbJvCHlCs/items/9da9b43b55...
28  http://qiita.com/kanimum/items/d89547235070038...
29  http://qiita.com/Lugendre/items/70e517e59698e0...
30  http://qiita.com/eielh/items/b2e85f8ea4c6cdb8012d
31  http://qiita.com/inatatsu_csg/items/b035c76ec6...
32  http://qiita.com/busyoumono99/items/220bd3c30f...
33  http://qiita.com/hiroyuki_hon/items/3eb41a16fe...
34  http://qiita.com/Cj-bc/items/583fa82805775cf17dd6
35  http://qiita.com/nakamurau1@github/items/7feae...
36  http://qiita.com/hiruberuto/items/3eb21ef81b3d...
37  http://qiita.com/sahara/items/7c7ef646fb3e9b08...
38  http://qiita.com/kitsukitsuki/items/a56cbfc0de...
39  http://qiita.com/reotasosan/items/e80ab706baef...
40  http://qiita.com/imokurity/items/f90e4c35c74fe...
41  http://qiita.com/reotasosan/items/2b37fdef025a...
42  http://qiita.com/algas/items/1ebb9b8c77fc5f344708
43  http://qiita.com/dyoshikawa/items/a1789bf7ff1d...
44    http://qiita.com/dsm/items/861d08844b1fba32f07b
45  http://qiita.com/kwhrstr1206/items/fdf460f2a9a...
46  http://qiita.com/TTsurutani/items/201200c1f288...
47  http://qiita.com/reotasosan/items/cce796d32105...
48  http://qiita.com/1ain2/items/09ad8b0e4992f7ceae0f
49  http://qiita.com/Tatsuki-I/items/e19953c051e55...
$ 

(Ausgabedateien)

スクリーンショット 2020-11-08 0.27.17.png

(Excel-Datei)

スクリーンショット 2020-11-08 0.29.50.png

(PNG-Datei)

スクリーンショット 2020-11-08 0.30.42.png

(Die Screenshot-Bilddatei auf der mittleren Seite wird weggelassen.)

スクリーンショット 2020-11-08 0.31.21.png

Andere: Die Suchzeichenfolge für Artikel kann Kanji Katakana oder Kana sein.

Console}


$ python  selenium_python_multi_pages_while.py -Wortkugeltheorie-max 20

Recommended Posts

[Selen] Verwenden Sie die while-Anweisung, um wiederholt zur "nächsten Seite" zu wechseln.
[Selen] Gehen Sie zur nächsten Seite, ohne auf Weiter zu klicken
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
[Bachstelze] Fügen Sie dem Bachstelzenprojekt eine Anmeldeseite hinzu
Praktisch, um Matplotlib-Unterzeichnungen in for-Anweisungen zu verwenden
Verwendung der Methode __call__ in der Python-Klasse
[Teil 2] Crawlen mit Python! Klicken Sie auf die Webseite, um sich zu bewegen!
Ich wusste nicht, wie ich die [Python] für die Anweisung verwenden sollte
Verwendung des Generators
Wie benutzt man den Dekorateur?
[Python] Verwendung der for-Anweisung. Eine Methode zum Extrahieren durch Angabe eines Bereichs oder von Bedingungen.
So bestimmen Sie die Existenz eines Selenelements in Python
Ich habe Jinja2 beim Lesen des Dokuments verglichen, um es mit Django zu verwenden
Ich möchte komplizierte vier Regeln in der IF-Anweisung der Django-Vorlage verwenden! → Verwenden Sie eine benutzerdefinierte Vorlage
Benutze Rust, um Pocket Miku zu bewegen.
Verwendung der Zip-Funktion
Verwendung des optparse-Moduls
Hinweise zum lokalen Ausführen von Errbot
Verwendung des ConfigParser-Moduls
Ich habe versucht, den Ball zu bewegen
Ein Memo zur einfachen Verwendung des Beleuchtungsstärkesensors TSL2561 mit Raspberry Pi 2
[Einführung in die Udemy Python3 + -Anwendung] 47. Verarbeiten Sie das Wörterbuch mit einer for-Anweisung
[Python] Erklärt anhand eines konkreten Beispiels, wie die Bereichsfunktion verwendet wird
Verwenden Sie eine Verknüpfung, um das Touchpad in Linux Mint zu aktivieren oder zu deaktivieren
So spielen Sie ein Video ab, während Sie die Anzahl der Bilder ansehen (Mac)
Ich dachte, es wäre langsam, die for-Anweisung in NumPy zu verwenden, aber das war nicht der Fall.