2016-08-16 13 views
0

私はプログラミングに慣れていないし、市のウェブサイトから一連の水道代金のPDFを取り出す最良の方法を探している。私はウェブページを開くことができましたが、Excelのアカウント番号を使用して口座を開設することができましたが、ループを作成してコードを書き直すことなくすべてのアカウントを実行できます。私はいくつかのアイデアを持っていますが、私はより良い提案が存在すると推測しています。イントロコードについては、下記をご覧ください。Python:Excel to Web to PDF

import bs4, requests, openpyxl, os 

os.chdir('C:\\Users\\jsmith.ABCINC\\Desktop') 

addresses = openpyxl.load_workbook ('WaterBills.xlsx') 
type (addresses) 
sheet = addresses.get_sheet_by_name ('Sheet1') 
cell = sheet ['A1'] 
cell.value 

from selenium import webdriver 
browser = webdriver.Firefox() 
browser.get('https://secure.phila.gov/WRB/WaterBill/Account/GetAccount.aspx') 
elem = browser.find_element_by_css_selector('#MainContent_AcctNum') 
elem.click() 
elem.send_keys (cell.value) 
elem = browser.find_element_by_css_selector('#MainContent_btnLookup') 
elem.click() 

ありがとうございました!

+0

はここでループを作成するためのスタートです。私はあなたがスプレッドシートの 'A'列に格納された値のリストを持っていると仮定しています。 'アカウント= [sheet.columns内の行のためのrow.value [0]]' あなたは、その後のアカウントでアカウントの 'のアカウント値を反復処理することができます:' は、あなたが探しているものということですか? – freebie

答えて

1

はPDFをダウンロードするための良い方法を見つけることができませんでしたが、ここではなく、すべてです:

import openpyxl 

    from selenium import webdriver 


    workbook  = openpyxl.load_workbook('WaterBills.xlsx') 
    sheet   = workbook.get_sheet_by_name('Sheet1') 
    column_a  = sheet.columns[0] 
    account_numbers = [row.value for row in column_a if row.value] 

    browser = webdriver.Firefox() 
    browser.get('https://secure.phila.gov/WRB/WaterBill/Account/GetAccount.aspx') 

    for account_number in account_numbers: 
     search_box = browser.find_element_by_id('MainContent_AcctNum') 
     search_box.click() 
     search_box.send_keys(account_number) 

     search_button = browser.find_element_by_id('MainContent_btnLookup') 
     search_button.click() 

     # TODO: download the page as a PDF 

     browser.back() 

    browser.quit() 
+0

http://stackoverflow.com/questions/23359083/how-to-convert-webpage-into-pdf-by-using-python –

+0

@DavidZemens Python 3.5でpdfkitの例を成功させました。 – freebie

+0

@freebie - ありがとう君は!これは大きな助けになります。 pdfkitの障害はPython 3.5のpdfkitがないという事実ですか? – Ashley