Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from bs4 import BeautifulSoup
- import requests
- import csv
- def get_html(url):
- response = requests.get(url)
- if response.ok:
- return response.text
- print(response.status_code)
- def refined(s):
- pr = s.replace('$', '').replace(',', '')
- return round(float(pr), 6)
- def write_csv(data):
- with open('cmc_2.csv', 'a') as f:
- writer = csv.writer(f, delimiter=';')
- writer.writerow((data['name'],
- data['url'],
- data['price']))
- def get_data(html):
- soup = BeautifulSoup(html, 'lxml')
- trs = soup.find('tbody').find_all('tr')
- for tr in trs:
- tds = tr.find_all('td')
- try:
- name = tds[2].text
- except:
- name = ''
- try:
- url = tds[2].find('a').get('href')
- except:
- url = ''
- try:
- price = tds[3].find('span').text
- except:
- price = ''
- data = {'name': name,
- 'url': url,
- 'price': refined(price)}
- write_csv(data)
- def main():
- pattern = 'https://coinmarketcap.com'
- get_data(get_html(pattern))
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment