如何从代码中获取的csv文件中打印Web抓取结果

时间:2018-10-07 16:37:29

标签: python web-scraping beautifulsoup screen-scraping

from bs4 import BeautifulSoup
import requests
import csv
url = "https://coingecko.com/en"

page = requests.get(url)
html_doc = page.content
soup = BeautifulSoup(html_doc,"html.parser")
coinname =soup.find_all("div",attrs={"class":"coin-content center"})
coin_sign = soup.find_all("div",attrs={"class":"coin-icon mr-2 center flex-column"})
coinvalue = soup.find_all("td",attrs={"class":"td-price price text-right "})
marketcap = soup.find_all("td",attrs={"class":"td-market_cap cap "})
Liquidity = soup.find_all("td", attrs={"class": "td-liquidity_score lit text-right "})

coin_name = []
coinsign = []
Coinvalue = []
Marketcap = []
marketliquidity = []
for div in coinname:
    coin_name.append(div.a.span.text)

for sign in coin_sign:
    coinsign.append(sign.span.text)
for Value in coinvalue:
    Coinvalue.append(Value.a.span.text)
for cap in marketcap:
    Marketcap.append(cap.div.span.text)
for liquidity in Liquidity:
marketliquidity.append(liquidity.a.span.text)
print(coin_name)
print(coinsign)
print(Coinvalue)
print(Marketcap)
print(marketliquidity)

我想将输出保存到具有5列的csv文件文件中。第1列为“ coin_name”,第2列为“ coinsign”,第3列为“ coinvalue”,第4列为“ Marketcap”,第5列为“ Marketliquidity”。我该如何解决?

我也想限制接收到的数据,因为我只想接收100个coin_name,但我只接收200个coin_name。

1 个答案:

答案 0 :(得分:0)

├── back
│   └── app
│       
└── front
    ├── assets
    ├── css
    ├── dist
    └── js
        ├── components
        └── lib

输出将为

break;