Python:如何将要抓取的信息放入excel文档或Blob,以便在我的代码运行时可以进行比较?

问题描述 投票:0回答:1

我正在尝试在州最高法院上搜集信息,以便我可以检查它何时更改。我能够成功地抓取和打印信息,但是我正在努力寻找一种方法来将其添加到excel文档或另一种形式的blob存储中。这是我当前的python代码:

import requests
from bs4 import BeautifulSoup
import pandas as pd

list = ['https://ballotpedia.org/Alabama_Supreme_Court', 
'https://ballotpedia.org/Alaska_Supreme_Court', 'https://ballotpedia.org/Arizona_Supreme_Court', 
'https://ballotpedia.org/Arkansas_Supreme_Court', 'https://ballotpedia.org/California_Supreme_Court', 
'https://ballotpedia.org/Colorado_Supreme_Court', 
'https://ballotpedia.org/Connecticut_Supreme_Court', 
'https://ballotpedia.org/Delaware_Supreme_Court', 'https://ballotpedia.org/Florida_Supreme_Court']
for page in list:
    r = requests.get(page)
    soup = BeautifulSoup(r.content, 'html.parser')
    print([item.text for item in soup.select("table.wikitable.sortable.jquery-tablesorter a")])'

如何将其保存到excel文档或Blob存储中,以后再参考以检查信息是否已更改。谢谢!

python excel screen-scraping azure-blob-storage
1个回答
0
投票

进行一些调整:

import requests
from bs4 import BeautifulSoup
import pandas as pd

list = ['https://ballotpedia.org/Alabama_Supreme_Court', 
'https://ballotpedia.org/Alaska_Supreme_Court', 'https://ballotpedia.org/Arizona_Supreme_Court', 
'https://ballotpedia.org/Arkansas_Supreme_Court', 'https://ballotpedia.org/California_Supreme_Court', 
'https://ballotpedia.org/Colorado_Supreme_Court', 
'https://ballotpedia.org/Connecticut_Supreme_Court', 
'https://ballotpedia.org/Delaware_Supreme_Court', 'https://ballotpedia.org/Florida_Supreme_Court']

temp_dict = {} #create empty dictionary

for page in list:
    r = requests.get(page)
    soup = BeautifulSoup(r.content, 'html.parser')

    temp_dict[page.split('/')[-1]] = [item.text for item in soup.select("table.wikitable.sortable.jquery-tablesorter a")] #populate dictionary with state as key and the info as the value. 

# The next line does the following: create dataframe from dictionary,
# orient as 'index' (this handles different lengths of arrays) 
# transpose it back so state supreme courts are column headers

df = pd.DataFrame.from_dict(temp_dict, orient='index').transpose() 
df.to_csv('State_Supreme_Court_Info.csv') #saves as csv
© www.soinside.com 2019 - 2024. All rights reserved.