2017-07-27 10 views
0

ExcelのスプレッドシートからプロパティIDを取得し、そのプロパティIDに基づいてWebページにナビゲートし、関連するプロパティ値をそれらを同じスプレッドシートにインポートし直します。私は事前に非常に初心者のpython(または任意の言語tbh)コーダーです謝罪します。ここでのコードは、これまでです:Web Scraper:request.getが別のWebページにリダイレクトされる

import xlrd 
from lxml import html 
import requests 

class Estimate: 
    def importo(self): 
    # access excel spreadsheet 
    file_location = "S:\Powerdel\Transmission Engineering\Miscellaneous\Estimates\Auto_Estimator\Estimate_Output.xls" 
    workbook = xlrd.open_workbook(file_location) 
    sheet = workbook.sheet_by_index(0) 

    # import number of columns from spreadsheet 
    n = int(sheet.nrows) 

    #initalize lists 
    id = [0] * (n - 1) 
    width = [0] * (n - 1) 
    cost = [0] * (n - 1) 
    size = [0] * (n - 1) 

    # import values from spreadsheet 
    for row in range(n-1): 
     id[row] = sheet.cell_value(row+1,3) 
     width[row] = sheet.cell_value(row+1,1) 

    #grab cost from webpage 
    #for row in range (n-1): 
    name = "http://propaccess.traviscad.org/clientdb/Property.aspx?prop_id={0}" .format(id[0]) 
    page = requests.get(name) 
    tree = html.fromstring(page.text) 
    cost[0] = tree.xpath('//div[@id="landDetails"]/table/tbody/tr[2]/td[5]/text()') 

    print(id[0]) 
    print(width[4]) 
    print(n) 
    print(cost[0]) 
    print(name) 
    print(tree.text_content().encode('utf-8')) 

Estimate().importo()" 

と結果:

337776 
492.0 
63 
[] 
http://propaccess.traviscad.org/clientdb/Property.aspx?prop_id=337776 
Travis Property Search 
    body { text-align: center; padding: 150px; } 
    h1 { font-size: 50px; } 
    body { font: 20px Helvetica, sans-serif; color: #333; } 
    #article { display: block; text-align: left; width: 650px; margin: 0 auto; } 
    a { color: #dc8100; text-decoration: none; } 
    a:hover { color: #333; text-decoration: none; } 


Please try again 

    Sorry for the inconvenience but your session has either timed out or the server is busy handling other requests. You may visit us on the the following website for information, otherwise please retry your search again shortly:Travis Central Appraisal District Website 
    Click here to reload the property search to try again 

私の問題は(今のところ)私request.getが意図したサイトからリダイレクトなっていることです。面白いことに、実行した後に私のプログラムがプリントアウトするリンクをたどると、私は同じ謝罪にリダイレクトされます。 Buuut、もし私がtraviscad.orgのウェブサイトのメニュー項目を使って目的のWebページに移動し、私の印刷されたリンク、ブーム、正しいサイトに従っていれば。

私が言ったように、私は全く新しいので、なぜ私はリダイレクトされているのか、それを防ぐ方法はわかりません。アドバイスがありましたら、教えてください!

The desired webpage The bogus redirect

+0

希望のWebページリンクをクリックすると、偽のリダイレクトと同じ結果になります。問題はページにアクセスしている可能性がありますタブブを通るのとは対照的に直接 –

答えて

0

使用して開始するため、実際のブラウザ要求をシミュレートする(https://pypi.python.org/pypi/mechanize/)機械化。次に、セッションの詳細などで直接ブラウジングしているかのようにページをトラバースすることができます。

関連する問題