|
| 1 | +# author: Bartlomiej "furas" Burek (https://blog.furas.pl) |
| 2 | +# date: 2021.02.11 |
| 3 | +# link: (stackoverflow) https://stackoverflow.com/questions/66154423/concanate-class-str-array-to-dataframe |
| 4 | + |
| 5 | +importpandasaspd |
| 6 | +importrequests |
| 7 | + |
| 8 | +headers= {'User-Agent':'Chrome/70.0.3538.110'}# PEP8: spaces around `=` |
| 9 | + |
| 10 | +payload= { |
| 11 | +'continent[0]':'Europa', |
| 12 | +'continent[1]':'Nordamerika', |
| 13 | +'continent[2]':'Asien - Pazifik', |
| 14 | +'PROFIT_PER_SHARE[enabled]':1, |
| 15 | +'PROFIT_KGV[enabled]':1, |
| 16 | +'MARKET_CAPITALIZATION[enabled]':1, |
| 17 | +'PERFORMANCE_6_MONTHS[enabled]':1, |
| 18 | +'PERFORMANCE_4_WEEKS[enabled]':1, |
| 19 | +'SCREENER_INTEREST[enabled]':1, |
| 20 | +'SCREENER_RISK_ZONE[enabled]':1, |
| 21 | +'PROFIT_PER_SHARE[year]':2020, |
| 22 | +'PROFIT_KGV[year]':2020, |
| 23 | +'MARKET_CAPITALIZATION[year]':2020, |
| 24 | +'offset':0, |
| 25 | +} |
| 26 | + |
| 27 | +url='https://www.onvista.de/aktien/finder/' |
| 28 | + |
| 29 | +table_dfs= []# list |
| 30 | + |
| 31 | +foroffsetinrange(0,3*50,50): |
| 32 | + |
| 33 | +payload['offset']=offset |
| 34 | + |
| 35 | +response=requests.get(url,params=payload,headers=headers) |
| 36 | + |
| 37 | +all_tables=pd.read_html(response.text) |
| 38 | +table_dfs.append(all_tables[0] )# `[0]` - first DataFrame from list |
| 39 | + |
| 40 | +#print(type(all_tables), all_tables) |
| 41 | +#print(type(all_tables[0]), all_tables[0]) |
| 42 | + |
| 43 | +df=pd.concat(table_dfs,ignore_index=True) |
| 44 | + |
| 45 | +print(len(df)) |
| 46 | +print(df) |