Я изучаю python, я пытаюсь очистить таблицу с https://www.zaubacorp.com/company-list/city-DELHI/status-Active/p-1-company.html веб-сайта. В этой таблице вы видите 4 столбца: «CIN», «Название компании», «Ro c» и «Статус». Как вы можете видеть, «Название компании» - это гиперссылка, мне нужно 5 столбцов «CIN», » Название компании »,« Ссылка на компанию »,« Ro c »и« Статус ». Для того же самого я написал код, но у меня было только 4 столбца, и вместо« Ссылка на компанию »я получил другой результат. Я делюсь снимок экрана моего выходного файла csv.
Пожалуйста, помогите мне очистить эту таблицу в 5 столбцах: «CIN», «Название компании», «Ссылка на компанию», «Ro c» и «Статус». здесь это мой код, и пожалуйста, найдите изображение моего выходного файла csv.
import csv
from bs4 import BeautifulSoup
import re
import html5lib
def find_between(s, first, last ):
try:
start = s.index( first ) + len( first )
end = s.index( last, start )
return s[start:end]
except ValueError:
return ""
loop = 1
while(True):
try:
URL = "https://www.zaubacorp.com/company-list/city-DELHI/status-Active/p-" + str(loop) + "-company.html"
loop=loop+1
r = requests.get(URL)
soup = BeautifulSoup(r.content, 'html5lib')
tbody = soup.find('tbody')
rows = tbody.find_all('tr')
row_list = list()
for tr in rows:
row=[]
td = tr.find_all('td')
for a in td:
href=a.find('a',href=True)
if href==None:
row.append(a.text.strip())
print(a.text.strip())
else:
linktext = href.__getitem__
row.append(linktext)
row_list.append(row)
with open('zaubadata.csv', 'a') as csvFile:
writer = csv.writer(csvFile)
for r in row_list:
writer.writerow(r)
except Exception as obj:
print(obj)
csvFile.close()
break
[![result of above code in 4 columns][1]][1]
[1]: https://i.stack.imgur.com/oUVLK.png