[英]UnicodeEncodeError: Scraping data using Python and beautifulsoup4
[英]Scraping Vaccination Data using BeautifulSoup (python)
我是新來的刮:)。 我想抓取一個網站以獲取有關疫苗接種的信息。 這是網站: https://ourworldindata.org/covid-vaccinations
我的目標是獲得包含三列的表:
這是我的代碼:
# importing basic libraries
import requests
from bs4 import BeautifulSoup
# request for getting the target html.
def get_html(URL):
scrape_result = requests.get(URL)
return scrape_result.text
vac_html = get_html("https://ourworldindata.org/covid-vaccinations")
# the BeautifulSoup library for scraping the data, with "html.parser" for parsing.
beatiful_soup = BeautifulSoup(vac_html, "html.parser")
# view the html script.
print(beatiful_soup.prettify())
# finding the content of interest
get_table = beatiful_soup.find_all("tr")
for x in get_table:
print("*********")
print(x)
當前 output:整個網頁為 HTML。 這是其中的一小部分:
'\n<!DOCTYPE html>\n<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->\n<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->\n<!--[if !IE]><!-->\n<html lang="en">\n<!--<![endif]-->\n<head>\n<meta charset="utf-8">\n<meta http-equiv="X-UA-Compatible" content="IE=edge">\n<meta name="viewport" content="width=device-width, initial-scale=1">\n<title>COVID Live Update: 261,656,911 Cases and 5,216,375 Deaths from the Coronavirus - Worldometer</title>\n<meta name="description" content="Live statistics and coronavirus news tracking the number of confirmed cases, recovered patients, tests, and death toll due to the COVID-19 coronavirus from Wuhan, China. Coronavirus counter with new cases, deaths, and number of tests per 1 Million population. Historical data and info. Daily charts, graphs, news and updates">\n\n<link rel="shortcut icon" href="/favicon/favicon.ico" type="image/x-icon">\n<link rel="apple-touch-icon" sizes="57x57" href="/favicon/apple-icon-57x57.png">\n<link rel="apple-touch-icon" sizes="60x60" href="/favicon/apple-icon-60x60.png">\n<link rel="apple-touch-icon" sizes="72x72" href="/favicon/apple-icon-72x72.png">\n<link rel="apple-touch-icon" sizes="76x76" href="/favicon/apple-icon-76x76.png">\n<link rel="apple-touch-icon" sizes="114x114"
不幸的是,它沒有產生我喜歡看到的信息。 有沒有人在 web 抓取方面有一些經驗並且可以快速查看我的代碼?
在此先感謝您的幫助!
只是快速瀏覽了那個網站。 我建議不要使用漂亮的湯,而應該只使用他們用來獲取數據的請求。 在網絡請求(使用開發工具查看)中,您將找到對https://covid.ourworldindata.org/data/internal/megafile--vaccinations.json的 GET 請求,您可以自己嘗試將 Z34D1F91FB12E514B8A6BA 回到站點並嘗試返回如果您將 go 轉到上面的那個鏈接,您會看到它返回一個不錯的 JSON object ,您可以解析它。
如果您直接從源獲取數據,這一切都在那里:
import requests
import pandas as pd
url = "https://covid.ourworldindata.org/data/internal/megafile--vaccinations-bydose.json"
jsonData = requests.get(url).json()
df = pd.DataFrame(jsonData)
Output:
print(df)
location ... people_partly_vaccinated_per_hundred
0 Afghanistan ... 0.987197
1 Afghanistan ... 0.986009
2 Afghanistan ... 0.952562
3 Afghanistan ... 0.924529
4 Afghanistan ... 0.918366
... ... ...
30218 Zimbabwe ... 6.310471
30219 Zimbabwe ... 6.384688
30220 Zimbabwe ... 6.429645
30221 Zimbabwe ... 6.429439
30222 Zimbabwe ... 6.447568
[30223 rows x 6 columns]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.