好的,我是这里的初学者。我想要做的目的是刮擦一个网站,以获取公司名称和相应的电话号码。最终目标是将这些内容写入可以通过Excel打开的CSV文件中。
目前,我能够分别检索公司名称和电话号码。我认为我可以以某种方式合并两个列表,但是我担心单个异常数据会抵消整个合并,并使数字与名称不匹配。
做到这一点的最佳方法是什么?
from urllib import request
from bs4 import BeautifulSoup
url = 'https://www.iqsdirectory.com/bolts/bolts-2/'
html = request.urlopen(url)
soup = BeautifulSoup(html, 'html.parser')
data1 = soup.findAll('span', {'itemprop':'name'})
data2 = soup.findAll('a', {'itemprop':'telephone'})
datalist1 = []
datalist2 = []
for i in data1:
datalist1.append(i.string)
for i in data2:
datalist2.append(i.string)
x = zip(datalist1, datalist2)
print(list(x))
是否可以在相同的汤功能中提取姓名和电话以保持其联系?
任何帮助,将不胜感激!
import requests
from bs4 import BeautifulSoup
import csv
def main(url):
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
target = soup.select("h3.cname")
with open("data.csv", 'w', newline="") as f:
writer = csv.writer(f)
writer.writerow(["Name", "Phone"])
for tar in target:
name = tar.find("span", itemprop="name").text
phone = tar.find("a", itemprop="telephone").text
writer.writerow([name, phone])
main("https://www.iqsdirectory.com/bolts/bolts-2/")
输出:在线查看
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句