Я использую список URL-адресов в CSV-файле для сканирования и извлечения данных из HTML-таблицы.Я хочу прекратить проходить через URL, когда 'style3' нет в таблице.Я создал функцию, которая будет возвращать false, если ее там нет, но я не совсем понимаю, как ее реализовать.
Любые предложения по решению или указания к литературе очень помогут, так как я не смог найти здесь что-нибудь, чтобы помочь мне понять это.
Я включил 1 URL с 'style3' и 1 без.Спасибо за любую помощь.
http://www.wvlabor.com/new_searches/contractor_RESULTS.cfm?wvnumber=WV057808&contractor_name=&dba=&city_name=&County=&Submit3=Search+Contractors http://www.wvlabor.com/new_searches/contractor_RESULTS.cfm?wvnumber=WV057924&contractor_name=&dba=&city_name=&County=&Submit3=Search+Contractors
import csv
from urllib.request import urlopen
import pandas as pd
from bs4 import BeautifulSoup as BS
def license_exists(soup):
contents = []
with open('WV_urls.csv','r') as csvf:
urls = csv.reader(csvf)
for url in urls:
if soup(class_='style3'):
return True
else:
return False
contents = []
more = True
while more:
df = pd.DataFrame(columns=['WV Number', 'Company', 'DBA', 'Address', 'City', 'State', 'Zip','County', 'Phone', 'Classification*', 'Expires']) #initialize the data frame with columns
with open('WV_urls.csv','r') as csvf: # Open file in read mode
urls = csv.reader(csvf)
for url in urls:
contents.append(url) # Add each url to list contents
for url in contents: # Parse through each url in the list.
page = urlopen(url[0]).read()
df1, header = pd.read_html(page,header=0)#reading with header
more = license_exists(?????)
df=df.append(df1) # append to dataframe
df.to_csv('WV_Licenses_Daily.csv', index=False)