我在 python 中创建了一个脚本来从 csv 文件中读取不同的 id 号,以便将它们与链接一起使用来填充结果并将结果写入不同的 csv 文件中。
这是基本链路https://abr.business.gov.au/ABN/View?abn=,并且这些是数字(存储在CSV文件)78007306283,70007746536,95051096649附加到该链接以使它们可用的链接。这些数字ids位于 csv 文件的标题下。一个这样的合格链接是https://abr.business.gov.au/ABN/View?abn=78007306283。
我的脚本可以从 csv 文件中读取数字,将它们一个一个地附加到该链接中,在网站中填充结果,并在提取后将它们写入另一个 csv 文件中。
我面临的唯一问题是我新创建的 csv 文件也包含ids标题,而我想在新的 csv 文件中排除该列。
将结果写入新的 csv 文件时,如何摆脱旧 csv 文件中可用的列?
到目前为止我已经尝试过:
import csv
import requests
from bs4 import BeautifulSoup
URL = "https://abr.business.gov.au/ABN/View?abn={}"
with open("itemids.csv", "r") as f, open('information.csv', 'w', newline='') as g:
reader = csv.DictReader(f)
newfieldnames = reader.fieldnames + ['Name', 'Status']
writer = csv.DictWriter(g, fieldnames=newfieldnames)
writer.writeheader()
for entry in reader:
res = requests.get(URL.format(entry['ids']))
soup = BeautifulSoup(res.text,"lxml")
item = soup.select_one("span[itemprop='legalName']").text
stat = soup.find("th",string="ABN status:").find_next_sibling().get_text(strip=True)
print(item,stat)
new_row = entry
new_row['Name'] = item
new_row['Status'] = stat
writer.writerow(new_row)
相关分类