Cliquez ici jusqu'à hier
Vous deviendrez ingénieur dans 100 jours-70-Programmation-À propos du scraping
Vous deviendrez ingénieur dans 100 jours - Jour 63 - Programmation - À propos de la probabilité 1
Vous deviendrez ingénieur dans 100 jours - Jour 59 - Programmation - À propos des algorithmes
Vous deviendrez ingénieur dans 100 jours --- Jour 53 --Git --À propos de Git
Vous deviendrez ingénieur dans 100 jours - Jour 42 --Cloud --À propos des services cloud
Vous deviendrez ingénieur dans 100 jours-24 jours-Python-Bases du langage Python 1
Vous deviendrez ingénieur dans 100 jours --Jour 18 --Javascript --Les bases de JavaScript 1
Vous deviendrez ingénieur dans 100 jours - Jour 14 --CSS --CSS Basics 1
Vous deviendrez ingénieur dans 100 jours - Jour 6 --HTML - Bases du HTML 1
Cette fois, c'est aussi une continuation du grattage.
Jusqu'à la dernière fois, l'analyse de la requête et de la syntaxe était terminée. Cette fois, c'est une méthode pour sauvegarder les données acquises.
Parce que le «scraping» ne se termine souvent pas par une URL Vous pouvez enregistrer les données en stockant les informations acquises dans un type de liste et en les sortant dans un fichier ou une base de données selon le cas.
import requests
from bs4 import BeautifulSoup
url = 'URL d'accès'
res = requests.get(url)
soup = BeautifulSoup(res.content, "html.parser")
#Préparez une liste vide
result_list = []
#Obtenez toutes les balises
a_tags = soup.find_all('a')
for a in a_tags[0:10]:
#Stocker le href de la balise a dans la liste
result_list.append(a.get('href'))
print(result_list)
['http://www.otupy.com', '/otu/', '/business/', '/global/', '/news/', '/python/', '/visits/', '/recruit/', '/vision/']
Vous pouvez classer ce que vous avez stocké dans la liste avec le code suivant.
with open('Chemin du fichier','w') as _w:
for row in result_list:
_w.write('\t'.join(row))
Non seulement les informations textuelles peuvent être obtenues par grattage. Si la destination de la demande est un fichier, vous pouvez obtenir le fichier.
Vous pouvez télécharger le fichier avec le code suivant.
import requests
import os
url = 'URL du fichier'
#Extraire le nom du fichier de l'URL
file_name = os.path.basename(url)
print(file_name)
#Accès en streaming à l'URL cible
res = requests.get(url, stream=True)
if res.status_code == 200:
print('file download start {0}'.format(file_name))
#Ecrire un fichier avec un code d'octet
with open(file_name, 'wb') as file:
# chunk_Procéder à l'écriture de fichier pour chaque taille
for chunk in res.iter_content(chunk_size=1024):
file.write(chunk)
print('file download end {0}'.format(file_name))
Pour enregistrer en tant que fichier, une fois que vous vous êtes assuré de pouvoir y accéder Écrivez la réponse sous forme de fichier.
Écrivez petit à petit avec res.iter_content (chunk_size = chunk size)
.
Les caractères spéciaux tels que le japonais ne peuvent pas être utilisés dans l'URL. Si vous souhaitez utiliser le japonais pour l'URL lors de la recherche de japonais Vous devez convertir la chaîne en un code spécifique (une liste de symboles et de caractères alphanumériques).
Créer une chaîne de caractères pouvant être utilisée dans une URL à partir du japonais est appelé «encodage URL».
Au contraire, il est possible de convertir une chaîne de caractères qui a été «encodée en URL» et devient illisible en un état où elle peut être relue. Il est appelé «décodage URL».
python utilise la bibliothèque ʻurllib`.
** encodage d'URL ** ʻUrllib.parse.quote ('chaîne cible') `
** Décoder ** ʻUrllib.parse.unquote ('chaîne cible') `
import urllib.parse
#Encodage d'URL
st = 'Otsu py'
s_quote = urllib.parse.quote(st)
print(s_quote)
##Décoder
d_quote = urllib.parse.unquote('%E4%B9%99py')
print(d_quote)
%E4%B9%99py Otsu py
Contient des connaissances supplémentaires sur le grattage. Puisqu'il s'agit d'une petite quantité, je pense que vous pouvez l'essayer immédiatement.
Passons en revue les procès-verbaux jusqu'à hier.
27 jours jusqu'à ce que vous deveniez ingénieur
HP d'Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython
Recommended Posts