내 목표는 웹 사이트의 데이터를 구문 분석하고 해당 데이터를 Excel에서 열도록 포맷 된 텍스트 파일에 저장하는 것입니다. 나는 많은 시도를했기 때문에BeautifulSoup을 사용하여 데이터를 구문 분석하고 pandas로 데이터 sotring 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()
는 모든 모듈이 있습니다 다음은 코드입니다. 그렇게 인쇄 (정보)의 출력은 is
인쇄 (raw_data) is
편집
이의 출력은 코드 검토하고 완벽하게 작동합니다.
인내심을 가져 주셔서 감사합니다.
from bs4 import BeautifulSoup
오기 요청 수입 pprint 가져 오기 pyperclip 수입 JSON PD 오기 CSV로 수입 팬더 재
PAG = 'bestumbrellasoffia.txt'(열기와 범위 (2126) ' 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 감사합니다. 불확실한 점에 대해 사과드립니다. –