Aug-27-2019, 09:48 PM
The code that I am using for this is below:
from bs4 import BeautifulSoup import requests, io import pandas as pd from selenium import webdriver import time ################## NOTE THAT THIS CODE WORKS FOR 1 LINK AT A TIME, FOR MORE THAN ONE IT FAILS ############# error: MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=57192): Max retries exceeded with url: /session/dcba731d4173518f03b593a17afe111c/url (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000001DD4212470>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it')) driver = webdriver.Chrome(executable_path=r"myfolder\chromedriver.exe") uchar=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','<','>',','] timestamp = pd.datetime.today().strftime('%Y%m%d-&H&M&S') links_df = pd.read_excel(r'myfolder\myfile.xlsx', sheetname='Hoja1') links_Df = links_df[(links_df['Country'] == 'PT')] results = pd.DataFrame(columns=['ISIN', 'N Shares', 'Link']) for ISIN in links_df.ISIN: link='https://www.bolsadelisboa.com.pt/pt-pt/products/equities/' + ISIN + '-XLIS/market-information' driver.get(link) soup = BeautifulSoup(driver.page_source, 'html.parser') driver.quit() r=soup.find_all("strong")[14] dirtyresult=str(r) for x in uchar: cleanresult=dirtyresult.replace(x,"").replace("<strong>","").replace("</strong>","") time.sleep(30) results = results.append({'ISIN': ISIN, 'N Shares': cleanresult, 'Link': link}, ignore_index=True) print(ISIN +": " + cleanresult) results.to_csv(r'myfolder\output' + timestamp + '.csv', index=False) print('Finish')