如何将网站上所有抓取的数据保存在熊猫数据框中?

维苏威

我写了一个代码,它使用BeautifulSoup一个预先设计的库CommonRegex从网页中抓取联系信息,它基本上是正则表达式来抓取美国地址信息。虽然我能够提取列表形式的信息并将其转换为熊猫数据帧,我无法保存列表中存在的所有值。这是我写的代码:

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)

这是我得到的结果:-

在此处输入图片说明

但是,由于正则表达式为 提取 3 个值Phone no,即,

在此处输入图片说明

结果应该是这样的:- 在此处输入图片说明

我不知道如何解决这个问题,如果你们能帮助我就太好了。

寻求

这应该做:

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')

dict_data = {'address':[], 'phone_no': [], 'email': []
}

crex = CommonRegex()

for link in soup.find_all('p'):

    str_add = crex.street_addresses(link.get_text())
    phone = crex.phones(link.get_text())
    email = crex.emails(link.get_text())

    if str_add:
        dict_data['address'].append(str_add[0])
    if phone:
        dict_data['phone_no'].append(', '.join(phone))
    if email:
        dict_data['email'].append(email[0]) 

df = pd.DataFrame(dict_data)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫如何将数据框中的所有值保存到csv中?

如何从网站上抓取所有数据?

从网站上抓取数据到熊猫数据框

如何将熊猫数据框保存到PdfPages中的现有pdf中

如何将目录中的所有图像路径加载到熊猫数据框列中?

如何将网络抓取的数据正确放置到熊猫数据框中?

如何从网站上抓取数据?

如何将具有多个页面和内部链接的网站抓取到 Pandas 数据框中?

如何将功能应用于GROUPWISELY数据框的所有列?(在python熊猫中)

无法使用 BeautifulSoup 从网站上抓取所有数据

更改数据框时如何将熊猫数据框保存到文件中?

如何将所有数据并排保存在固定高度的 td 中

如何将熊猫数据框插入数据库中已存在的表中?

当 html 中的数据点是动态的时,如何从网站上抓取和保存图表

从网站的所有页面中抓取数据

如何将熊猫数据框中的字符串设置为所有行中的相同位置?

迭代地将输出保存在熊猫数据框中

将熊猫数据框保存在kdb / q中

如何从网站上抓取所有图像?

在熊猫数据框中,如何将所有索引标签(类型为DatetimeIndex)转换为datetime.datetime?

如何将抓取数据保存到CSV文件中?

如何使用节点从网站上抓取数据

如何使用python中的BeautifulSoup库从具有“查看更多”选项的网站上抓取数据

如何将一个熊猫数据框中的所有小时值与另一个数据框中的年值相乘?

大熊猫:如何将数据框的所有数字列转换为对数

如何将所有动态添加的文本框保存到 ASP MVC 数据库中的两列?

如何将具有所有数据的熊猫数据框转换为多列?

如何将所有 docx 数据放入 python 中单独的数据框列中

如何将格式编辑应用于数据框中的所有数据