Donc, mon but est d'analyser les données d'un site Web et de stocker ces données sur un fichier texte formaté pour être ouvert dans Excel. Voici le code:l'analyse des données avec BeautifulSoup et les données sotring avec pandas DataFrame to_csv
from bs4 import BeautifulSoup
import requests
import pprint
import re
import pyperclip
import json
import pandas as pd
import csv
pag = range (2,126)
out_file=open('bestumbrellasoffi.txt','w',encoding='utf-8')
with open('bestumbrellasoffi.txt','w', encoding='utf-8') as file:
for x in pag:
#iterate pages
url = 'https://www.paginegialle.it/ricerca/lidi%20balneari/italia/p-
'+str(x)+'?mr=50'
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
#parse data
for i,j,k,p,z in zip(soup.find_all('span', attrs=
{'itemprop':'name'}),soup.find_all('span', attrs=
{'itemprop':'longitude'}),soup.find_all('span', attrs=
{'itemprop':'latitude'}),soup.find_all('span', attrs={'class':'street-
address'}), soup.find_all('div', attrs={'class':'tel elementPhone'})):
info=i.text,j.text,k.text,p.text,z.text
#check if data is good
print(url)
print (info)
#create dataframe
raw_data = { 'nome':[i],'longitudine':[j],'latitudine':
[k],'indirizzo':[p],'telefono':[z]}
print(raw_data)
df=pd.DataFrame(raw_data, columns =
['nome','longitudine','latitudine','indirizzo','telefono'])
df.to_csv('bestumbrellasoffi.txt')
out_file.close()
Il y a tous ces modules parce que je l'ai fait beaucoup essayer. de sorte que la sortie de impression (info) is
la sortie impression (raw_data) is
EDIT
Ce code révisé et fonctionne parfaitement.
Merci à tous pour votre patience!
from bs4 import BeautifulSoup
import demande import pprint import re import pyperclip import json pandas d'importation que pd import csv
pag = Zone (2126) avec open ('bestumbrellasoffia.txt', » a », encoding = 'utf-8') sous forme de fichier:
for x in pag:
#iterate pages
url = 'https://www.paginegialle.it/ricerca/lidi%20balneari/italia/p-'+str(x)+'?mr=50'
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
raw_data = { 'nome':[],'longitudine':[],'latitudine':[],'indirizzo':[],'telefono':[]}
df=pd.DataFrame(raw_data, columns = ['nome','longitudine','latitudine','indirizzo','telefono'])
#parse data
for i,j,k,p,z in zip(soup.find_all('span', attrs={'itemprop':'name'}),soup.find_all('span', attrs={'itemprop':'longitude'}),soup.find_all('span', attrs={'itemprop':'latitude'}),soup.find_all('span', attrs={'class':'street-address'}), soup.find_all('div', attrs={'class':'tel elementPhone'})):
inno=i.text.lstrip()
ye=inno.rstrip()
info=ye,j.text,k.text,p.text,z.text
#check if data is good
print(info)
#create dataframe
raw_data = { 'nome':[i],'longitudine':[j],'latitudine':[k],'indirizzo':[p],'telefono':[z]}
#try dataframe
#print(raw_data)
file.write(str(info)+"\n")
Bienvenue chez SO. Quelle est la question? S'il vous plaît, prenez le temps de lire [ask] et les liens qu'il contient. – wwii
merci @wwii, et désolé d'être peu clair –