Я написал код, который удаляет контактную информацию с веб-страницы, используя BeautifulSoup
и заранее спроектированную библиотеку CommonRegex , которая в основном представляет собой регулярные выражения для очистки информации об адресе США. Пока я могу чтобы извлечь информацию в виде списка и преобразовать ее в pandas фрейм данных, я не могу сохранить все значения, присутствующие в списке. Это код, который я написал:
import pandas as pd
from commonregex import CommonRegex
from urllib.request import urlopen
from bs4 import BeautifulSoup
url = 'https://www.thetaxshopinc.com/pages/contact-tax-accountant-brampton'
html = urlopen(url)
soup = BeautifulSoup(html, 'lxml')
for link in soup.find_all('p'):
df = CommonRegex()
df1 = df.street_addresses(link.get_text())
df2 = df.phones(link.get_text())
df3 = df.emails(link.get_text())
for i in df1:
dfr = pd.DataFrame([i], columns = ['Address'])
for j in df2:
dfr1 = pd.DataFrame([j], columns = ['Phone_no'])
dfr1['Phone_no'] = dfr1['Phone_no'].str.cat(sep=', ')
dfr1.drop_duplicate(inplace = True)
for k in df3:
dfr2 = pd.DataFrame([k], columns = ['Email'])
dfc = pd.concat([dfr, dfr1, dfr2], axis = 1)
Вот результат, который я получаю: -
![enter image description here](https://i.stack.imgur.com/o87g0.png)
Но , поскольку регулярные выражения извлекают 3 значения для Phone no
, а именно:
![enter image description here](https://i.stack.imgur.com/BfNoA.png)
Результат должен быть таким: - ![enter image description here](https://i.stack.imgur.com/7mlfx.png)
Я понятия не имею, как решить эту проблему, было бы здорово, если бы вы, ребята, могли мне помочь.