私の目標は、Webサイトからデータを解析し、そのデータをExcelで開くようにフォーマットされたテキストファイルに保存することです。ここで コードです:BeautifulSoupでデータを解析し、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()
私は多くの試みがなされているため、これらすべてのモジュールがあります。 そう(RAW_DATA)is
EDIT
印刷(情報)の出力is
プリントの出力は、これは、コードレビューし、完全に機能しています。
忍耐力に感謝します。
from bs4 import BeautifulSoup
インポート要求 インポートPPRINT インポートインポートpyperclip インポートJSON PD インポートCSVとして インポートパンダ 再
PAG = 'bestumbrellasoffia.txt'(オープンと範囲(2,126) 」 a '、encoding =' utf-8 ')をファイルとして追加します:
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")
ようこそ。質問は何ですか?時間をかけて[ask]とそれに含まれるリンクを読んでください。 – wwii
@wwiiありがとうございました。ご不明な点がありましたらごめんね。 –