我试图网站刮削一个网站,当我试图把它变成一个csv文件,数据是不正确的列

2024-04-20 09:44:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个新的网络刮和实践,我试图网络刮一个网站,并把结果变成一个csv文件。当我将结果转换为csv文件时,它不会将地址放在address列中。我想把数据放到地址栏。代码如下。你知道吗

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

my_url = 'https://www.allagents.co.uk/find-agent/london/'

uClient = uReq(my_url)

page_html = uClient.read()

uClient.close()

page_soup = soup(page_html, 'html.parser')

containers = page_soup.findAll('div', {'class':'itemlabel3'})

filename = "webscrape.csv" 

f = open(filename, "w")

headers = "Company Name, Address, Telephone Number\n"

f.write(headers)

for container in containers:
    comp_name   = container.find('div', {'class':'labelleft2 col-md- 
10'}).div.h4.a.text

    address     = container.find('div', {'class':'labelleft2 col-md- 
   10'}).div.p.text

    tel         = container.find('div', {'class':'labelleft2 col-md- 
   10'}).div.find('p', {'style':'clear: both; margin-bottom: 
15px;'}).strong.text

    print("Company Name:", comp_name)
    print("Address:", address)
    print("Telephone", tel)

    f.write(comp_name.replace(",", ("|")) + "," + address.replace(",", ("|")) + 
"," + tel + "\n")

f.close()

感谢您的帮助。提前谢谢你。你知道吗


Tags: csvnamedivaddresscontainerhtmlpagecol
1条回答
网友
1楼 · 发布于 2024-04-20 09:44:53

在地址数据中似乎出现了新行字符

尝试替换代码中地址的下行,然后再次尝试运行

address=(container.find('div', {'class':'labelleft2 col-md-10'}).div.p.text).replace('\n','')

相关问题 更多 >