Задать вопрос
bodyakurbanov
@bodyakurbanov
Учусь программировать на python

Как избавиться от [] скобок?

Я написал парсер, который достаёт всю нужную информацию. Но проблема в том, что email адреса выводятся в виде списка [bogdankurbanov85@gmail.com]. Как мне избавиться от этого? Всё бы ничего, но из-за этого код, который помещает всё в Excel, выдаёт ошибку.

import requests
from bs4 import BeautifulSoup
from time import sleep
from lxml import html

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
                         " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"}
email_list = []

def get_url():
    for count in range(0,21,20):

        url = f"http://www.spisszkol.eu/typ/?wojewodztwo=malopolskie&powiat=krakow&start={count}"

        responce = requests.get(url, headers=headers)
        responce.encoding = "utf8"
        soup = BeautifulSoup(responce.text, "lxml")
        data = soup.find_all("div", class_="doc_entry")


        for i in data:
            card_url = i.find("a").get("href")
            yield card_url

def array():
    for list_card in get_url():
        responce = requests.get(list_card, headers=headers)
        responce.encoding = "utf8"
        sleep(3)
        soup = BeautifulSoup(responce.text, "lxml")
        parsed = html.fromstring(responce.text)
        emails = [e.attrib['title'] for e in parsed.xpath('//a[contains(@href, "email") and @title]')]
        data = soup.find("div", class_="page_body")
        name = data.find("p", class_="map_title red").text
        adres = data.find("p", itemprop="address").text
        telefon = data.find("span", itemprop="telephone").text
        yield name, adres, telefon,emails


И также код для вывода в Excel:
import xlsxwriter
from main import array

def writer(parametr):
    book = xlsxwriter.Workbook(r"C:\Users\bodga\OneDrive\Рабочий стол\Parcer\data.xlsx")
    page = book.add_worksheet("товар")

    row = 0
    column = 0

    page.set_column("A:A", 20)
    page.set_column("B:B", 20)
    page.set_column("C:C", 50)
    page.set_column("D:D", 50)

    for item in parametr():
        page.write(row, column, item[0])
        page.write(row, column+1, item[1])
        page.write(row, column+2, item[2])
        page.write(row, column + 3, item[3])
        row +=1

    book.close()


writer(array)
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Lord_of_Rings
@Lord_of_Rings
Дунадан - северный странник. Злой, но очень добрый
emails[0]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы