очистить адрес и номера телефонов с этого сайта - PullRequest
0 голосов
/ 25 сентября 2019

как мне удалить данные из класса и контактной информации и экспортировать в CSV-файл с использованием библиотек bs4 и pandas?с этого сайта ?Мне нужна помощь о том, как извлечь данные из класса тега и контактной информации.


import pandas as pd
import bs4
import requests
import re
full_dict={'Title':[],'Description':[],'Address':[]}
res=requests.get("https://cupcakemaps.com/cupcakes/cupcakes-near-me/p:2")   
listings=soup.findAll(class_='media')
for listing in listings:
    listing_title=listing.find(True,{'title':True}).attrs['title']
    listing_Description=listing.find('p',{'class':'summary-desc'})
    listing_address=listing.find('p',{'class':'contact-`info'}).text=re.compile(r'[0-9]{0,4}')`

1 Ответ

1 голос
/ 25 сентября 2019
  • .strip() - встроенная функция Python используется для удаления всех начальных и конечных пробелов из строки.
  • .to_csv() - Запись объекта в файл значений, разделенных запятыми (csv).

Пример.

import pandas as pd
from bs4 import BeautifulSoup,Tag
import requests
import re

res=requests.get("https://cupcakemaps.com/cupcakes/cupcakes-near-me/p:2")
soup = BeautifulSoup(res.text,'lxml')
listings=soup.findAll(class_='media')
data = []
for listing in listings:
    listing_title=listing.find(True,{'title':True}).attrs['title']
    listing_Description=listing.find('p',{'class':'summary-desc'})

    if isinstance(listing_Description,Tag):
        listing_Description = listing_Description.text.strip()

    listing_address=listing.find('p',{'class':'contact-info'})

    if isinstance(listing_address,Tag):
        number_text = listing_address.text.strip()
        listing_address = ''.join(filter(str.isdigit,number_text))

    full_dict = {'Title': listing_title, 'Description': listing_Description, 'Address': listing_address}
    data.append(full_dict)

df = pd.DataFrame(data)
# saved data into csv file
df.to_csv("contact.csv")
print(df)

O / P:

                                               Title                                        Description     Address
0  Explore Category 'Anaheim CA Birthday Cupcakes...  Delectable Anaheim, CA - Delectable check out ...  7147156086
1  Explore Category 'Costa Mesa CA Birthday Cupca...  Lisa's Gourmet Snacks Costa Mesa CA  check out...  7144275814
2  Explore Category 'Shorewood IL Birthday Cupcak...  Acapulco Bakery Inc Shorewood, IL - Acapulco B...  8157291737
3  Explore Category 'San Francisco CA Birthday Cu...  Hilda's Mart & Bake Shop San Francisco CA  che...  4153333122
4  Explore Category 'Los Angeles CA Birthday Cupc...  Lenny's Deli Los Angeles, CA - Lenny's Deli ch...  3104755771
5  Explore Category 'San Francisco CA Birthday Cu...  Sweet Inspirations San Francisco CA  check out...        None
6  Explore Category 'Costa Mesa CA Birthday Cupca...  The Cupcake Costa Mesa CA  check out  The Cupc...  9496420571
7  Explore Category 'Los Angeles CA Birthday Cupc...  United Bread & Pastry Inc Los Angeles CA  chec...  3236610037
8  Explore Category 'Garden Grove CA Birthday Cup...  Pescadores Garden Grove CA  check out  Pescado...  7145395585
9  Explore Category 'Bakersfield CA Birthday Cupc...  Bimbo Bakeries Usa Bakersfield CA  check out  ...  6613219352
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...