In [4]:
import os
import requests
import random
import pickle
KEY = '91mTqXFEeSaCIbjC0fuaB1RABk4HANqS4I91qRBN'
KEY2 = 'flLQZGa0kx8opciUA6M7R9iLPwfFPj5yFKKlCiVb'

MOST_RECENT_HR_BILL = 6536 #1490
MOST_RECENT_S_BILL = 3548  #606
CONGRESS = 114

In [3]:
import re 
from lxml import html
temp = set()
page = requests.get('https://www.congress.gov/search?q={%22type%22:%22bills%22,%22source%22:%22legislation%22,%22congress%22:%22114%22,%22bill-status%22:%22passed-one%22,%22chamber%22:%22Senate%22}&pageSize=250&page=1')
tree = html.fromstring(page.content)
bills = tree.xpath('//span[@class="result-heading"]//a/text()')
temp |= set(bills)

senate_passed_one_house = set()
for bill in temp:
    senate_passed_one_house.add(int(''.join(list(filter(str.isdigit, bill)))))

    

temp = set()    
for i in range(1, 10):
    page = requests.get('https://www.congress.gov/search?pageSort=documentNumber:asc&q={%22congress%22:%22114%22,%22type%22:%22bills%22,%22bill-status%22:[%22passed-one%22],%22chamber%22:%22House%22}&pageSize=250&page=' + str(i))
    tree = html.fromstring(page.content)
    bills = tree.xpath('//span[@class="result-heading"]//a/text()')
    temp |= set(bills)
    
hr_passed_one_house = set()
for bill in temp:
    hr_passed_one_house.add(int(''.join(list(filter(str.isdigit, bill)))))


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
C:\Users\David\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
    384             try:  # Python 2.7, use buffering of HTTP responses
--> 385                 httplib_response = conn.getresponse(buffering=True)
    386             except TypeError:  # Python 2.6 and older

TypeError: getresponse() got an unexpected keyword argument 'buffering'

During handling of the above exception, another exception occurred:

KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-3-959461697789> in <module>()
     15 temp = set()
     16 for i in range(1, 10):
---> 17     page = requests.get('https://www.congress.gov/search?pageSort=documentNumber:asc&q={%22congress%22:%22114%22,%22type%22:%22bills%22,%22bill-status%22:[%22passed-one%22],%22chamber%22:%22House%22}&pageSize=250&page=' + str(i))
     18     tree = html.fromstring(page.content)
     19     bills = tree.xpath('//span[@class="result-heading"]//a/text()')

C:\Users\David\Anaconda3\lib\site-packages\requests\api.py in get(url, params, **kwargs)
     69 
     70     kwargs.setdefault('allow_redirects', True)
---> 71     return request('get', url, params=params, **kwargs)
     72 
     73 

C:\Users\David\Anaconda3\lib\site-packages\requests\api.py in request(method, url, **kwargs)
     55     # cases, and look like a memory leak in others.
     56     with sessions.Session() as session:
---> 57         return session.request(method=method, url=url, **kwargs)
     58 
     59 

C:\Users\David\Anaconda3\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
    473         }
    474         send_kwargs.update(settings)
--> 475         resp = self.send(prep, **send_kwargs)
    476 
    477         return resp

C:\Users\David\Anaconda3\lib\site-packages\requests\sessions.py in send(self, request, **kwargs)
    583 
    584         # Send the request
--> 585         r = adapter.send(request, **kwargs)
    586 
    587         # Total elapsed time of the request (approximately)

C:\Users\David\Anaconda3\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
    401                     decode_content=False,
    402                     retries=self.max_retries,
--> 403                     timeout=timeout
    404                 )
    405 

C:\Users\David\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, **response_kw)
    576                                                   timeout=timeout_obj,
    577                                                   body=body, headers=headers,
--> 578                                                   chunked=chunked)
    579 
    580             # If we're going to release the connection in ``finally:``, then

C:\Users\David\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
    385                 httplib_response = conn.getresponse(buffering=True)
    386             except TypeError:  # Python 2.6 and older
--> 387                 httplib_response = conn.getresponse()
    388         except (SocketTimeout, BaseSSLError, SocketError) as e:
    389             self._raise_timeout(err=e, url=url, timeout_value=read_timeout)

C:\Users\David\Anaconda3\lib\http\client.py in getresponse(self)
   1195         try:
   1196             try:
-> 1197                 response.begin()
   1198             except ConnectionError:
   1199                 self.close()

C:\Users\David\Anaconda3\lib\http\client.py in begin(self)
    295         # read until we get a non-100 response
    296         while True:
--> 297             version, status, reason = self._read_status()
    298             if status != CONTINUE:
    299                 break

C:\Users\David\Anaconda3\lib\http\client.py in _read_status(self)
    256 
    257     def _read_status(self):
--> 258         line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
    259         if len(line) > _MAXLINE:
    260             raise LineTooLong("status line")

C:\Users\David\Anaconda3\lib\socket.py in readinto(self, b)
    573         while True:
    574             try:
--> 575                 return self._sock.recv_into(b)
    576             except timeout:
    577                 self._timeout_occurred = True

C:\Users\David\Anaconda3\lib\ssl.py in recv_into(self, buffer, nbytes, flags)
    927                   "non-zero flags not allowed in calls to recv_into() on %s" %
    928                   self.__class__)
--> 929             return self.read(nbytes, buffer)
    930         else:
    931             return socket.recv_into(self, buffer, nbytes, flags)

C:\Users\David\Anaconda3\lib\ssl.py in read(self, len, buffer)
    789             raise ValueError("Read on closed or unwrapped SSL socket.")
    790         try:
--> 791             return self._sslobj.read(len, buffer)
    792         except SSLError as x:
    793             if x.args[0] == SSL_ERROR_EOF and self.suppress_ragged_eofs:

C:\Users\David\Anaconda3\lib\ssl.py in read(self, len, buffer)
    573         """
    574         if buffer is not None:
--> 575             v = self._sslobj.read(len, buffer)
    576         else:
    577             v = self._sslobj.read(len)

KeyboardInterrupt: 

In [19]:
import networkx as nx
%matplotlib inline


def drawGraph(graph):
    G = nx.Graph()
    for u in graph:
        for v in graph[u]:
            G.add_edge(u, v)
    pos=nx.spring_layout(G)
    nx.draw(G, pos)


def getJSON(webpage):
    headers = {
        'X-API-Key': KEY
    }
    r = requests.get(webpage, headers=headers)
    return r.json()

def getSponsors(bill_id, congress, progress = 'introduced'):
    '''Returns (PrimarySponsor, [cosponsors]) for specified bill_id and congress strings. Returns () if faulty'''
    '''progress = 'introduced', 'became law'                                                                '''
    edge = getJSON('https://api.propublica.org/congress/v1/' + str(congress) + '/bills/' + bill_id + '/cosponsors.json')
    toReturn = False
    if edge['status'] == 'OK':
        if progress =='introduced':
            toReturn = True
        elif progress == 'became law':
            toReturn = edge['results'][0]['latest_major_action'][:17] == 'Became Public Law'           
                
    if toReturn:
        return (edge['results'][0]['sponsor_id'], [cosponsor['cosponsor_id'] for cosponsor in edge['results'][0]['cosponsors']])
    else:
        return ()
    
def getMembers(congress):
    '''takes congress session and Returns dictioanry of congress member ids with value 0'''
    senate_members = getJSON('https://api.propublica.org/congress/v1/'+ str(congress) +'/senate/members.json')
    house_members = getJSON('https://api.propublica.org/congress/v1/'+ str(congress) +'/house/members.json')
    senateList, houseList = [],[]
    if senate_members['status'] == 'OK':
        senateList = [(senator['id'],0) for senator in senate_members['results'][0]['members']]
    if house_members['status'] == 'OK':
        houseList = [(rep['id'],0) for rep in house_members['results'][0]['members']]
    return dict(senateList + houseList)

def getNameIDPairing(congress):
    senate_members = getJSON('https://api.propublica.org/congress/v1/'+ str(congress) +'/senate/members.json')
    house_members = getJSON('https://api.propublica.org/congress/v1/'+ str(congress) +'/house/members.json')
    senateList, houseList = [],[]
    if senate_members['status'] == 'OK':
        senateList = [(senator['id'], senator['first_name'] + ' ' + senator['last_name'] + '(' + senator['party'] + ')') for senator in senate_members['results'][0]['members']]
    if house_members['status'] == 'OK':
        houseList = [(rep['id'],rep['first_name'] + ' ' + rep['last_name'] + '(' + rep['party'] + ')') for rep in house_members['results'][0]['members']]
    return dict(senateList + houseList)
    
    
def buildGraph(members, congress):
    graph = {}
    for m in members:
        graph[m] = []
    
    for i in range(1, MOST_RECENT_HR_BILL+1):
        print("At HR{0}".format(i))
        edge = getSponsors("hr{0}".format(i), congress)
        if edge: # not (,)
            graph[edge[0]].extend(edge[1])
    
    for i in range(1, MOST_RECENT_S_BILL+1):
        print("At S{0}".format(i))
        edge = getSponsors("s{0}".format(i), congress)
        if edge: # not (,)
            graph[edge[0]].extend(edge[1])
        
    return graph

def buildFilteredGraph(members, congress):
    graph = {}
    for m in members:
        graph[m] = []
    
    for i in sorted(list(hr_passed_one_house)):
        print("At HR{0}".format(i))
        edge = getSponsors("hr{0}".format(i), congress)
        if edge: # not (,)
            graph[edge[0]].extend(edge[1])
    
    for i in sorted(list(senate_passed_one_house)):
        print("At S{0}".format(i))
        edge = getSponsors("s{0}".format(i), congress)
        if edge: # not (,)
            graph[edge[0]].extend(edge[1])
        
    return graph

def reverseCurrentGraph(curr_graph):
    new_graph = {}
    for m in curr_graph:
        new_graph[m] = []
    for m in curr_graph:
        cosponsored = curr_graph[m]
        for c in cosponsored:
            new_graph[c].append(m)
    return new_graph


def ranker(members, graph, p=.15, iterations=1000000):
    assert len(graph) == len(members)
    member_list = list(graph.keys())
    current = random.choice(member_list)
    members[current] += 1
    for i in range(iterations):
#         if i % 10 == 0:
#             print("Iteration: {0}".format(i))
        if len(graph[current]) == 0 or random.random() < p:
            current = random.choice(member_list)
#             print("reset")

        else:
            neighbors = graph[current]
            current = neighbors[random.randint(0, len(neighbors)-1)]
#             print("Continue")
        members[current] += 1
    return members


def save_obj(obj, name ):
    with open(name + '.pkl', 'wb') as f:
        pickle.dump(obj, f, pickle.HIGHEST_PROTOCOL)

def load_obj(name ):
    with open(name + '.pkl', 'rb') as f:
        return pickle.load(f)

In [77]:
# members = getMembers(CONGRESS)
# graph = buildGraph(members, CONGRESS)
# names = getNameIDPairing(CONGRESS)
# filteredGraph = buildFilteredGraph(members, CONGRESS)

# save_obj(filteredGraph, 'congress' + str(CONGRESS) + '_filteredGraphAtLeastOneHouse')
# save_obj(members, 'congress' + str(CONGRESS) + '_members')
# save_obj(graph, 'congress' + str(CONGRESS) + '_graph')
# save_obj(names, 'congress' + str(CONGRESS) + '_names')


At HR2
At HR3
At HR5
At HR6
At HR7
At HR8
At HR10
At HR22
At HR23
At HR26
At HR30
At HR33
At HR34
At HR35
At HR36
At HR37
At HR50
At HR87
At HR91
At HR136
At HR158
At HR159
At HR160
At HR161
At HR172
At HR181
At HR185
At HR203
At HR208
At HR212
At HR216
At HR223
At HR233
At HR235
At HR237
At HR240
At HR246
At HR251
At HR280
At HR284
At HR285
At HR294
At HR295
At HR299
At HR313
At HR322
At HR323
At HR324
At HR329
At HR336
At HR348
At HR350
At HR351
At HR357
At HR360
At HR361
At HR373
At HR387
At HR398
At HR400
At HR404
At HR427
At HR431
At HR432
At HR433
At HR455
At HR460
At HR468
At HR469
At HR471
At HR474
At HR482
At HR487
At HR496
At HR511
At HR514
At HR515
At HR527
At HR529
At HR533
At HR538
At HR558
At HR596
At HR597
At HR598
At HR601
At HR606
At HR615
At HR622
At HR623
At HR636
At HR639
At HR644
At HR647
At HR648
At HR650
At HR651
At HR653
At HR670
At HR675
At HR677
At HR685
At HR692
At HR699
At HR702
At HR709
At HR710
At HR712
At HR719
At HR720
At HR723
At HR728
At HR734
At HR749
At HR756
At HR757
At HR758
At HR766
At HR774
At HR805
At HR810
At HR812
At HR845
At HR874
At HR875
At HR876
At HR880
At HR889
At HR890
At HR891
At HR893
At HR897
At HR907
At HR921
At HR944
At HR954
At HR959
At HR960
At HR979
At HR984
At HR985
At HR998
At HR1020
At HR1023
At HR1026
At HR1029
At HR1030
At HR1038
At HR1047
At HR1058
At HR1069
At HR1073
At HR1075
At HR1090
At HR1092
At HR1104
At HR1105
At HR1119
At HR1132
At HR1138
At HR1150
At HR1152
At HR1155
At HR1156
At HR1158
At HR1162
At HR1168
At HR1190
At HR1191
At HR1192
At HR1195
At HR1206
At HR1209
At HR1210
At HR1213
At HR1214
At HR1219
At HR1259
At HR1265
At HR1268
At HR1270
At HR1289
At HR1295
At HR1296
At HR1300
At HR1301
At HR1313
At HR1314
At HR1315
At HR1317
At HR1321
At HR1324
At HR1326
At HR1334
At HR1335
At HR1338
At HR1344
At HR1350
At HR1367
At HR1382
At HR1384
At HR1408
At HR1428
At HR1442
At HR1462
At HR1471
At HR1475
At HR1478
At HR1480
At HR1493
At HR1525
At HR1527
At HR1531
At HR1541
At HR1553
At HR1554
At HR1557
At HR1560
At HR1561
At HR1562
At HR1567
At HR1599
At HR1607
At HR1615
At HR1624
At HR1626
At HR1633
At HR1634
At HR1637
At HR1640
At HR1644
At HR1646
At HR1656
At HR1670
At HR1675
At HR1684
At HR1690
At HR1694
At HR1698
At HR1723
At HR1725
At HR1731
At HR1732
At HR1734
At HR1735
At HR1737
At HR1755
At HR1762
At HR1777
At HR1806
At HR1815
At HR1816
At HR1818
At HR1831
At HR1838
At HR1839
At HR1847
At HR1853
At HR1877
At HR1884
At HR1887
At HR1927
At HR1937
At HR1949
At HR1987
At HR1994
At HR2009
At HR2017
At HR2028
At HR2029
At HR2042
At HR2048
At HR2051
At HR2061
At HR2064
At HR2080
At HR2081
At HR2088
At HR2091
At HR2121
At HR2127
At HR2130
At HR2131
At HR2137
At HR2146
At HR2168
At HR2187
At HR2200
At HR2206
At HR2209
At HR2212
At HR2223
At HR2241
At HR2250
At HR2252
At HR2256
At HR2262
At HR2270
At HR2273
At HR2285
At HR2288
At HR2289
At HR2297
At HR2315
At HR2347
At HR2353
At HR2357
At HR2360
At HR2390
At HR2393
At HR2394
At HR2395
At HR2406
At HR2458
At HR2460
At HR2482
At HR2494
At HR2496
At HR2499
At HR2505
At HR2507
At HR2559
At HR2566
At HR2570
At HR2576
At HR2577
At HR2578
At HR2582
At HR2583
At HR2589
At HR2596
At HR2607
At HR2615
At HR2617
At HR2620
At HR2643
At HR2646
At HR2647
At HR2666
At HR2669
At HR2670
At HR2685
At HR2693
At HR2713
At HR2722
At HR2726
At HR2733
At HR2745
At HR2750
At HR2770
At HR2786
At HR2791
At HR2795
At HR2814
At HR2820
At HR2830
At HR2831
At HR2832
At HR2835
At HR2843
At HR2845
At HR2857
At HR2880
At HR2898
At HR2901
At HR2908
At HR2915
At HR2928
At HR2947
At HR2984
At HR2992
At HR2997
At HR3004
At HR3009
At HR3016
At HR3032
At HR3033
At HR3036
At HR3038
At HR3059
At HR3070
At HR3079
At HR3082
At HR3089
At HR3102
At HR3106
At HR3114
At HR3116
At HR3134
At HR3144
At HR3178
At HR3179
At HR3189
At HR3192
At HR3209
At HR3216
At HR3218
At HR3231
At HR3234
At HR3236
At HR3262
At HR3274
At HR3279
At HR3286
At HR3293
At HR3340
At HR3350
At HR3361
At HR3371
At HR3381
At HR3394
At HR3438
At HR3442
At HR3447
At HR3457
At HR3460
At HR3471
At HR3480
At HR3490
At HR3493
At HR3495
At HR3503
At HR3504
At HR3505
At HR3510
At HR3537
At HR3572
At HR3578
At HR3583
At HR3584
At HR3586
At HR3590
At HR3594
At HR3598
At HR3601
At HR3614
At HR3620
At HR3624
At HR3636
At HR3654
At HR3662
At HR3680
At HR3691
At HR3694
At HR3700
At HR3711
At HR3714
At HR3715
At HR3716
At HR3724
At HR3735
At HR3750
At HR3762
At HR3766
At HR3779
At HR3784
At HR3791
At HR3797
At HR3819
At HR3826
At HR3831
At HR3832
At HR3839
At HR3842
At HR3844
At HR3859
At HR3866
At HR3869
At HR3875
At HR3878
At HR3881
At HR3894
At HR3924
At HR3931
At HR3936
At HR3937
At HR3953
At HR3956
At HR3957
At HR3969
At HR3989
At HR3996
At HR3998
At HR4010
At HR4038
At HR4046
At HR4056
At HR4063
At HR4084
At HR4096
At HR4119
At HR4127
At HR4139
At HR4150
At HR4167
At HR4168
At HR4188
At HR4202
At HR4238
At HR4239
At HR4240
At HR4245
At HR4246
At HR4284
At HR4298
At HR4314
At HR4325
At HR4326
At HR4332
At HR4336
At HR4352
At HR4359
At HR4360
At HR4361
At HR4365
At HR4369
At HR4372
At HR4398
At HR4401
At HR4402
At HR4403
At HR4404
At HR4407
At HR4408
At HR4411
At HR4412
At HR4416
At HR4419
At HR4425
At HR4427
At HR4434
At HR4437
At HR4444
At HR4465
At HR4470
At HR4472
At HR4481
At HR4482
At HR4487
At HR4498
At HR4509
At HR4510
At HR4511
At HR4538
At HR4539
At HR4549
At HR4557
At HR4564
At HR4570
At HR4576
At HR4582
At HR4583
At HR4586
At HR4590
At HR4596
At HR4599
At HR4605
At HR4618
At HR4639
At HR4641
At HR4665
At HR4676
At HR4680
At HR4685
At HR4698
At HR4712
At HR4721
At HR4742
At HR4743
At HR4747
At HR4755
At HR4757
At HR4761
At HR4768
At HR4775
At HR4777
At HR4780
At HR4785
At HR4789
At HR4820
At HR4843
At HR4854
At HR4855
At HR4875
At HR4877
At HR4885
At HR4887
At HR4890
At HR4901
At HR4902
At HR4903
At HR4904
At HR4906
At HR4909
At HR4919
At HR4923
At HR4925
At HR4939
At HR4957
At HR4960
At HR4969
At HR4974
At HR4975
At HR4976
At HR4978
At HR4979
At HR4981
At HR4982
At HR4985
At HR4987
At HR4992
At HR5015
At HR5019
At HR5028
At HR5037
At HR5046
At HR5047
At HR5048
At HR5049
At HR5052
At HR5053
At HR5056
At HR5063
At HR5064
At HR5065
At HR5077
At HR5094
At HR5099
At HR5104
At HR5111
At HR5119
At HR5143
At HR5147
At HR5150
At HR5160
At HR5162
At HR5166
At HR5170
At HR5210
At HR5226
At HR5229
At HR5233
At HR5243
At HR5244
At HR5252
At HR5273
At HR5278
At HR5293
At HR5303
At HR5309
At HR5312
At HR5317
At HR5320
At HR5322
At HR5325
At HR5332
At HR5338
At HR5346
At HR5351
At HR5356
At HR5384
At HR5385
At HR5388
At HR5389
At HR5391
At HR5392
At HR5399
At HR5421
At HR5422
At HR5424
At HR5447
At HR5452
At HR5456
At HR5458
At HR5459
At HR5460
At HR5461
At HR5469
At HR5471
At HR5484
At HR5485
At HR5509
At HR5523
At HR5528
At HR5529
At HR5530
At HR5537
At HR5538
At HR5577
At HR5578
At HR5587
At HR5588
At HR5591
At HR5594
At HR5600
At HR5602
At HR5607
At HR5612
At HR5613
At HR5620
At HR5625
At HR5631
At HR5636
At HR5638
At HR5639
At HR5640
At HR5658
At HR5659
At HR5676
At HR5687
At HR5690
At HR5708
At HR5711
At HR5713
At HR5719
At HR5722
At HR5732
At HR5785
At HR5790
At HR5798
At HR5843
At HR5859
At HR5873
At HR5877
At HR5883
At HR5889
At HR5931
At HR5936
At HR5937
At HR5943
At HR5944
At HR5946
At HR5948
At HR5957
At HR5963
At HR5977
At HR5978
At HR5982
At HR5985
At HR5995
At HR6004
At HR6007
At HR6009
At HR6014
At HR6076
At HR6094
At HR6130
At HR6135
At HR6138
At HR6186
At HR6282
At HR6297
At HR6302
At HR6303
At HR6304
At HR6323
At HR6375
At HR6392
At HR6393
At HR6394
At HR6400
At HR6401
At HR6415
At HR6416
At HR6427
At HR6431
At HR6435
At HR6438
At HR6450
At HR6451
At HR6452
At HR6477
At HR6480
At S1
At S8
At S10
At S32
At S125
At S136
At S139
At S142
At S143
At S178
At S179
At S184
At S192
At S209
At S227
At S230
At S238
At S242
At S246
At S253
At S261
At S267
At S284
At S286
At S290
At S295
At S301
At S304
At S337
At S349
At S434
At S461
At S483
At S501
At S524
At S527
At S535
At S546
At S565
At S571
At S599
At S607
At S611
At S612
At S614
At S653
At S665
At S719
At S754
At S756
At S764
At S795
At S799
At S802
At S808
At S817
At S818
At S971
At S984
At S986
At S993
At S994
At S1004
At S1090
At S1109
At S1115
At S1124
At S1168
At S1170
At S1172
At S1177
At S1180
At S1203
At S1252
At S1297
At S1300
At S1335
At S1347
At S1352
At S1356
At S1359
At S1362
At S1402
At S1436
At S1443
At S1461
At S1463
At S1479
At S1482
At S1492
At S1493
At S1523
At S1550
At S1555
At S1568
At S1576
At S1579
At S1580
At S1596
At S1599
At S1603
At S1616
At S1629
At S1632
At S1635
At S1638
At S1698
At S1707
At S1719
At S1731
At S1776
At S1808
At S1826
At S1831
At S1875
At S1878
At S1886
At S1890
At S1893
At S1915
At S1935
At S2012
At S2032
At S2036
At S2040
At S2044
At S2058
At S2078
At S2082
At S2109
At S2133
At S2143
At S2152
At S2162
At S2234
At S2261
At S2276
At S2280
At S2306
At S2308
At S2325
At S2328
At S2340
At S2348
At S2360
At S2393
At S2422
At S2425
At S2426
At S2451
At S2465
At S2487
At S2512
At S2577
At S2613
At S2614
At S2650
At S2683
At S2736
At S2754
At S2755
At S2781
At S2808
At S2815
At S2829
At S2840
At S2845
At S2848
At S2852
At S2854
At S2873
At S2891
At S2893
At S2943
At S2944
At S2959
At S2971
At S2974
At S3021
At S3028
At S3055
At S3076
At S3084
At S3086
At S3112
At S3183
At S3207
At S3282
At S3283
At S3336
At S3346
At S3386
At S3395
At S3438
At S3492

In [11]:
filteredGraph = load_obj('congress' + str(CONGRESS) + '_filteredGraph')
graph = load_obj('congress' + str(CONGRESS) + '_graph')
graph = reverseCurrentGraph(graph)
members = load_obj('congress' + str(CONGRESS) + '_members')
names = load_obj('congress' + str(CONGRESS) + '_names')

In [20]:
drawGraph(graph)



In [15]:
members = load_obj('congress' + str(CONGRESS) + '_members')
ranking = ranker(members, graph,.75, 100000)
member_ranks = [pair[0] for pair in sorted(members.items(), key = lambda item: item[1], reverse=True)]
top_score = members[member_ranks[0]]
for i in range(len(member_ranks)):
    print("%d %f: %s" % (i+1,members[member_ranks[i]]/top_score, names[member_ranks[i]]))


1 1.000000: Diane Black(R)
2 0.926540: Christopher Smith(R)
3 0.862559: Erik Paulsen(R)
4 0.857820: Rosa DeLauro(D)
5 0.834123: Sam Johnson(R)
6 0.819905: Matt Cartwright(D)
7 0.808057: Charles Boustany Jr.(R)
8 0.791469: Lynn Jenkins(R)
9 0.777251: Tom Reed(R)
10 0.774882: Carolyn Maloney(D)
11 0.765403: Brett Guthrie(R)
12 0.748815: Paul Gosar(R)
13 0.736967: Katherine Clark(D)
14 0.718009: Kevin Brady(R)
15 0.713270: Peter Roskam(R)
16 0.703791: David Cicilline(D)
17 0.689573: Tom Price(R)
18 0.684834: Chris Gibson(R)
19 0.668246: Michael McCaul(R)
20 0.656398: Orrin Hatch(R)
21 0.651659: Martha McSally(R)
22 0.651659: Robert Goodlatte(R)
23 0.646919: Tim Walberg(R)
24 0.642180: Ted Poe(R)
25 0.635071: Raúl Grijalva(D)
26 0.635071: Benjamin Cardin(D)
27 0.632701: F. Sensenbrenner(R)
28 0.630332: Bill Posey(R)
29 0.627962: Ted Yoho(R)
30 0.625592: Joe Courtney(D)
31 0.625592: Dave Reichert(R)
32 0.625592: Edward Royce(R)
33 0.623223: Robert Scott(D)
34 0.620853: Trent Franks(R)
35 0.618483: Todd Young(R)
36 0.616114: Blaine Luetkemeyer(R)
37 0.616114: Pat Tiberi(R)
38 0.611374: Phil Roe(R)
39 0.611374: Frank Guinta(R)
40 0.609005: Terri Sewell(D)
41 0.604265: Richard Hudson(R)
42 0.597156: Lamar Smith(R)
43 0.597156: Rodney Davis(R)
44 0.594787: Morgan Griffith(R)
45 0.594787: Charles Grassley(R)
46 0.594787: Carlos Curbelo(R)
47 0.582938: Eliot Engel(D)
48 0.580569: Adam Kinzinger(R)
49 0.578199: Steve King(R)
50 0.575829: Jeff Fortenberry(R)
51 0.575829: Matt Salmon(R)
52 0.568720: Jackie Speier(D)
53 0.566351: Michael Honda(D)
54 0.566351: Ron Wyden(D)
55 0.563981: Charlie Dent(R)
56 0.563981: Thomas Massie(R)
57 0.563981: Susan Collins(R)
58 0.563981: Doug Collins(R)
59 0.559242: Cathy McMorris Rodgers(R)
60 0.559242: Gus Bilirakis(R)
61 0.559242: Sam Graves(R)
62 0.556872: Lamar Alexander(R)
63 0.554502: Robert Latta(R)
64 0.554502: Patty Murray(D)
65 0.554502: David Jolly(R)
66 0.552133: Susan Brooks(R)
67 0.549763: Keith Ellison(D)
68 0.547393: Pete Olson(R)
69 0.545024: Dianne Feinstein(D)
70 0.545024: Kevin Yoder(R)
71 0.545024: John Thune(R)
72 0.542654: Peter King(R)
73 0.537915: Maxine Waters(D)
74 0.535545: Nita Lowey(D)
75 0.530806: Robin Kelly(D)
76 0.528436: Don Young(R)
77 0.528436: John Lewis(D)
78 0.528436: Sherrod Brown(D)
79 0.526066: Raúl Labrador(R)
80 0.523697: Dean Heller(R)
81 0.523697: Jason Chaffetz(R)
82 0.521327: John Cornyn(R)
83 0.521327: Sean Duffy(R)
84 0.521327: Bill Pascrell Jr.(D)
85 0.521327: Andy Barr(R)
86 0.521327: Ted Cruz(R)
87 0.518957: Jerry Moran(R)
88 0.518957: Renee Ellmers(R)
89 0.518957: Mark Kirk(R)
90 0.518957: Mike Thompson(D)
91 0.518957: Lee Zeldin(R)
92 0.516588: Michael Fitzpatrick(R)
93 0.516588: Bill Shuster(R)
94 0.514218: Hank Johnson(D)
95 0.514218: Kelly Ayotte(R)
96 0.514218: Grace Meng(D)
97 0.514218: John Ratcliffe(R)
98 0.511848: Mike Pompeo(R)
99 0.509479: Mike Lee(R)
100 0.509479: Tammy Duckworth(D)
101 0.504739: Rob Portman(R)
102 0.504739: Tom Marino(R)
103 0.502370: Joe Barton(R)
104 0.502370: Michael Burgess(R)
105 0.502370: Bob Casey(D)
106 0.502370: Patrick Toomey(R)
107 0.502370: Mike Kelly(R)
108 0.500000: Gregg Harper(R)
109 0.497630: Gary Palmer(R)
110 0.497630: Tulsi Gabbard(D)
111 0.497630: Jeff Miller(R)
112 0.497630: Jerrold Nadler(D)
113 0.497630: Marco Rubio(R)
114 0.497630: Dan Kildee(D)
115 0.495261: Marlin Stutzman(R)
116 0.495261: Johnny Isakson(R)
117 0.492891: Al Franken(D)
118 0.490521: Jeff Flake(R)
119 0.490521: Greg Walden(R)
120 0.488152: Mark Walker(R)
121 0.488152: Robert Menendez(D)
122 0.483412: Mark Pocan(D)
123 0.483412: Steve Cohen(D)
124 0.483412: Chris Van Hollen(D)
125 0.481043: Gerald Connolly(D)
126 0.481043: Steve Stivers(R)
127 0.481043: Barbara Lee(D)
128 0.478673: Elizabeth Warren(D)
129 0.478673: Reid Ribble(R)
130 0.478673: Brian Babin(R)
131 0.478673: Richard Neal(D)
132 0.478673: Joe Wilson(R)
133 0.478673: John Conyers Jr.(D)
134 0.476303: Jim Renacci(R)
135 0.473934: Bill Nelson(D)
136 0.473934: Lloyd Doggett(D)
137 0.471564: Amy Klobuchar(D)
138 0.471564: Marsha Blackburn(R)
139 0.471564: Roger Williams(R)
140 0.471564: Ron DeSantis(R)
141 0.471564: John Barrasso(R)
142 0.471564: Maria Cantwell(D)
143 0.469194: Alma Adams(D)
144 0.469194: Mike Bishop(R)
145 0.469194: Mike Coffman(R)
146 0.469194: Seth Moulton(D)
147 0.469194: Lois Capps(D)
148 0.469194: Earl Blumenauer(D)
149 0.469194: Richard Blumenthal(D)
150 0.469194: Tim Murphy(R)
151 0.469194: Jeanne Shaheen(D)
152 0.466825: G. Butterfield(D)
153 0.466825: Joyce Beatty(D)
154 0.466825: Duncan Hunter(R)
155 0.464455: Patrick McHenry(R)
156 0.464455: Adrian Smith(R)
157 0.464455: Vern Buchanan(R)
158 0.464455: Kristi Noem(R)
159 0.462085: Sheila Jackson-Lee(D)
160 0.462085: Todd Rokita(R)
161 0.462085: Fred Upton(R)
162 0.459716: Kathy Castor(D)
163 0.459716: Tammy Baldwin(D)
164 0.457346: Sander Levin(D)
165 0.454976: Jackie Walorski(R)
166 0.454976: Roy Blunt(R)
167 0.454976: Alan Grayson(D)
168 0.454976: Tim Scott(R)
169 0.454976: Judy Chu(D)
170 0.454976: Lucille Roybal-Allard(D)
171 0.454976: Kevin Cramer(R)
172 0.452607: Dina Titus(D)
173 0.452607: Rob Bishop(R)
174 0.452607: Jared Polis(D)
175 0.450237: James Inhofe(R)
176 0.450237: Michael Crapo(R)
177 0.450237: Kirsten Gillibrand(D)
178 0.450237: Billy Long(R)
179 0.447867: Jody Hice(R)
180 0.447867: Patrick Leahy(D)
181 0.447867: Ileana Ros-Lehtinen(R)
182 0.447867: Ted Lieu(D)
183 0.447867: Donald Beyer(D)
184 0.447867: Julia Brownley(D)
185 0.445498: Patrick Murphy(D)
186 0.445498: Jan Schakowsky(D)
187 0.445498: Stephen Fincher(R)
188 0.445498: Suzan DelBene(D)
189 0.445498: Devin Nunes(R)
190 0.443128: Linda Sánchez(D)
191 0.443128: Derek Kilmer(D)
192 0.443128: Joe Heck(R)
193 0.443128: Richard Burr(R)
194 0.440758: Dan Benishek(R)
195 0.440758: Tom McClintock(R)
196 0.440758: Chellie Pingree(D)
197 0.440758: Blake Farenthold(R)
198 0.440758: John Fleming(R)
199 0.438389: Alex Mooney(R)
200 0.438389: Christopher Coons(D)
201 0.436019: Joseph Crowley(D)
202 0.436019: Bob Corker(R)
203 0.436019: David McKinley(R)
204 0.436019: Jon Tester(D)
205 0.436019: Louise Slaughter(D)
206 0.436019: Jared Huffman(D)
207 0.436019: Tom MacArthur(R)
208 0.433649: Deb Fischer(R)
209 0.433649: John Shimkus(R)
210 0.433649: Al Green(D)
211 0.433649: Ron Johnson(R)
212 0.431280: Robert Wittman(R)
213 0.428910: David Vitter(R)
214 0.428910: Richard Nugent(R)
215 0.428910: Lindsey Graham(R)
216 0.428910: Luke Messer(R)
217 0.426540: John Hoeven(R)
218 0.424171: Zoe Lofgren(D)
219 0.424171: Tony Cardenas(D)
220 0.424171: Scott Tipton(R)
221 0.424171: Jeff Sessions(R)
222 0.424171: Paul Tonko(D)
223 0.421801: Cory Gardner(R)
224 0.421801: John Larson(D)
225 0.421801: Edward Markey(D)
226 0.421801: Adam Schiff(D)
227 0.419431: Michael Capuano(D)
228 0.419431: John Kline(R)
229 0.419431: Michael Enzi(R)
230 0.419431: Elise Stefanik(R)
231 0.419431: Steven Chabot(R)
232 0.417062: Dennis Ross(R)
233 0.417062: Mazie Hirono(D)
234 0.417062: Marcy Kaptur(D)
235 0.417062: Sheldon Whitehouse(D)
236 0.417062: Steve Womack(R)
237 0.414692: Markwayne Mullin(R)
238 0.414692: Joaquín Castro(D)
239 0.414692: John McCain(R)
240 0.414692: Ann Wagner(R)
241 0.414692: Tim Walz(D)
242 0.414692: Joseph Kennedy III(D)
243 0.412322: Lisa Murkowski(R)
244 0.412322: Gene Green(D)
245 0.412322: Randy Neugebauer(R)
246 0.412322: Peter DeFazio(D)
247 0.409953: Pat Meehan(R)
248 0.409953: Paul Cook(R)
249 0.409953: John Delaney(D)
250 0.409953: Thomas Carper(D)
251 0.407583: Ron Kind(D)
252 0.407583: Kenny Marchant(R)
253 0.407583: Jim Bridenstine(R)
254 0.407583: Jeff Merkley(D)
255 0.407583: Candice Miller(R)
256 0.407583: Darrell Issa(R)
257 0.405213: Scott Peters(D)
258 0.405213: Ami Bera(D)
259 0.405213: Susan Davis(D)
260 0.405213: Larry Bucshon(R)
261 0.405213: Loretta Sánchez(D)
262 0.405213: Shelley Capito(R)
263 0.402844: Robert Dold(R)
264 0.402844: Ben Sasse(R)
265 0.402844: Leonard Lance(R)
266 0.402844: Randy Hultgren(R)
267 0.402844: Nydia Velázquez(D)
268 0.402844: Buddy Carter(R)
269 0.400474: Stacey Plaskett(D)
270 0.400474: John Carter(R)
271 0.400474: Martha Roby(R)
272 0.400474: Louie Gohmert(R)
273 0.400474: Bill Huizenga(R)
274 0.400474: Eleanor Norton(D)
275 0.400474: Garret Graves(R)
276 0.400474: Bill Keating(D)
277 0.398104: Tim Ryan(D)
278 0.398104: Harry Reid(D)
279 0.398104: George Holding(R)
280 0.398104: Jeffrey Duncan(R)
281 0.398104: Ryan Zinke(R)
282 0.398104: Xavier Becerra(D)
283 0.398104: Dan Newhouse(R)
284 0.398104: Charles Schumer(D)
285 0.398104: Roger Wicker(R)
286 0.398104: Rand Paul(R)
287 0.398104: Aaron Schock(R)
288 0.398104: Peter Welch(D)
289 0.398104: Jeffrey Denham(R)
290 0.398104: Elijah Cummings(D)
291 0.398104: Scott Perry(R)
292 0.398104: Richard Hanna(R)
293 0.398104: Chris Collins(R)
294 0.398104: Heidi Heitkamp(D)
295 0.395735: Bill Flores(R)
296 0.395735: Pat Roberts(R)
297 0.395735: Steve Israel(D)
298 0.395735: Alan Lowenthal(D)
299 0.395735: Jim McDermott(D)
300 0.395735: Jim McGovern(D)
301 0.395735: Lou Barletta(R)
302 0.393365: Trey Gowdy(R)
303 0.393365: James Lankford(R)
304 0.393365: José Serrano(D)
305 0.393365: David Valadao(R)
306 0.393365: Joni Ernst(R)
307 0.393365: Ted Deutch(D)
308 0.393365: Tom Rice(R)
309 0.393365: Alcee Hastings(D)
310 0.390995: Ken Buck(R)
311 0.390995: Rodney Frelinghuysen(R)
312 0.390995: Steve Daines(R)
313 0.390995: Scott Garrett(R)
314 0.390995: Tom Udall(D)
315 0.390995: Randy Weber(R)
316 0.390995: Rick Larsen(D)
317 0.390995: Marc Veasey(D)
318 0.390995: Bradley Byrne(R)
319 0.390995: Stephen Lynch(D)
320 0.390995: Bonnie Watson Coleman(D)
321 0.390995: Michael Turner(R)
322 0.390995: Chris Stewart(R)
323 0.388626: Chuck Fleischmann(R)
324 0.388626: Brian Higgins(D)
325 0.388626: Doug Lamborn(R)
326 0.388626: Glenn Thompson(R)
327 0.388626: Angus King(I)
328 0.386256: Bill Foster(D)
329 0.386256: William Clay(D)
330 0.386256: Mike Quigley(D)
331 0.386256: Charles Rangel(D)
332 0.386256: Sean Maloney(D)
333 0.386256: Brad Ashford(D)
334 0.386256: Rob Woodall(R)
335 0.383886: Mo Brooks(R)
336 0.383886: Rubén Hinojosa(D)
337 0.383886: Lynn Westmoreland(R)
338 0.383886: Grace Napolitano(D)
339 0.383886: Robert Pittenger(R)
340 0.383886: Elizabeth Esty(D)
341 0.383886: Richard Durbin(D)
342 0.383886: Ben Luján(D)
343 0.383886: Marcia Fudge(D)
344 0.383886: Mike Doyle(D)
345 0.383886: Frederica Wilson(D)
346 0.383886: Keith Rothfus(R)
347 0.383886: Danny Davis(D)
348 0.381517: Mia Love(R)
349 0.381517: David Rouzer(R)
350 0.381517: Vicky Hartzler(R)
351 0.381517: Barbara Boxer(D)
352 0.381517: Daniel Donovan(R)
353 0.381517: Ander Crenshaw(R)
354 0.381517: Joe Manchin III(D)
355 0.379147: Chaka Fattah(D)
356 0.379147: John Carney(D)
357 0.379147: Gary Peters(D)
358 0.379147: Mitch McConnell(R)
359 0.379147: Sanford Bishop Jr.(D)
360 0.376777: Brian Schatz(D)
361 0.376777: Madeleine Bordallo(D)
362 0.376777: Frank Lucas(R)
363 0.376777: Mark Warner(D)
364 0.376777: John Yarmuth(D)
365 0.376777: Ed Perlmutter(D)
366 0.376777: Mark Amodei(R)
367 0.376777: Janice Hahn(D)
368 0.376777: Cory Booker(D)
369 0.376777: Will Hurd(R)
370 0.376777: Scott Rigell(R)
371 0.374408: John Sarbanes(D)
372 0.374408: David Young(R)
373 0.374408: Thad Cochran(R)
374 0.374408: Karen Bass(D)
375 0.374408: Mike Simpson(R)
376 0.374408: Jim Langevin(D)
377 0.374408: Eddie Johnson(D)
378 0.374408: Kyrsten Sinema(D)
379 0.374408: Steve Knight(R)
380 0.374408: Pedro Pierluisi(D)
381 0.372038: Dave Loebsack(D)
382 0.372038: Walter Jones(R)
383 0.372038: Virginia Foxx(R)
384 0.369668: Jason Smith(R)
385 0.369668: André Carson(D)
386 0.369668: Pete Sessions(R)
387 0.369668: Robert Aderholt(R)
388 0.369668: Barbara Mikulski(D)
389 0.369668: Mark Takano(D)
390 0.369668: Ann Kuster(D)
391 0.369668: Albio Sires(D)
392 0.369668: Tom Cole(R)
393 0.369668: David Brat(R)
394 0.369668: Jim Risch(R)
395 0.367299: David Scott(D)
396 0.367299: Donald Payne Jr.(D)
397 0.367299: Bruce Poliquin(R)
398 0.367299: Curt Clawson(R)
399 0.367299: Mick Mulvaney(R)
400 0.367299: Bennie Thompson(D)
401 0.367299: Brad Wenstrup(R)
402 0.364929: Gwen Moore(D)
403 0.364929: Jaime Herrera Beutler(R)
404 0.364929: Ken Calvert(R)
405 0.364929: Mario Diaz-Balart(R)
406 0.364929: Suzanne Bonamici(D)
407 0.362559: Jim Costa(D)
408 0.362559: Ralph Abraham(R)
409 0.362559: James Clyburn(D)
410 0.362559: Kay Granger(R)
411 0.362559: Ryan Costello(R)
412 0.362559: Doug LaMalfa(R)
413 0.362559: Joe Donnelly(D)
414 0.362559: Adam Smith(D)
415 0.362559: Steven Palazzo(R)
416 0.360190: C.A. Dutch Ruppersberger(D)
417 0.360190: Tom Emmer(R)
418 0.360190: Bernard Sanders(I)
419 0.360190: Kathleen Rice(D)
420 0.360190: Steve Scalise(R)
421 0.360190: Bill Cassidy(R)
422 0.360190: Cheri Bustos(D)
423 0.360190: Steve Russell(R)
424 0.360190: Rick Crawford(R)
425 0.357820: Jim Jordan(R)
426 0.357820: Raul Ruiz(D)
427 0.357820: Harold Rogers(R)
428 0.357820: Evan Jenkins(R)
429 0.357820: David Perdue(R)
430 0.357820: David Schweikert(R)
431 0.357820: Kurt Schrader(D)
432 0.357820: Joe Pitts(R)
433 0.357820: Mark Sanford(R)
434 0.357820: Jeb Hensarling(R)
435 0.355450: Gregorio &#39;Kilili&#39; Sablan(I)
436 0.355450: Frank LoBiondo(R)
437 0.355450: Filemon Vela(D)
438 0.355450: Paul Ryan(R)
439 0.355450: Henry Cuellar(D)
440 0.355450: Warren Davidson(R)
441 0.353081: Rick Allen(R)
442 0.353081: Bill Johnson(R)
443 0.353081: Darin LaHood(R)
444 0.353081: Yvette Clarke(D)
445 0.353081: Andy Harris(R)
446 0.353081: David Price(D)
447 0.353081: Mark DeSaulnier(D)
448 0.353081: Lois Frankel(D)
449 0.353081: Anna Eshoo(D)
450 0.353081: Jim Cooper(D)
451 0.350711: Cresent Hardy(R)
452 0.350711: Jim Himes(D)
453 0.350711: Cynthia Lummis(R)
454 0.350711: Jerry McNerney(D)
455 0.350711: William Thornberry(R)
456 0.350711: Betty McCollum(D)
457 0.350711: Edward Whitfield(R)
458 0.350711: Scott DesJarlais(R)
459 0.350711: John Duncan Jr.(R)
460 0.348341: Mike Bost(R)
461 0.348341: Doris Matsui(D)
462 0.348341: Niki Tsongas(D)
463 0.348341: Jack Reed(D)
464 0.348341: John Katko(R)
465 0.348341: John Garamendi(D)
466 0.345972: Dave Trott(R)
467 0.345972: Bruce Westerman(R)
468 0.345972: Austin Scott(R)
469 0.345972: Gwen Graham(D)
470 0.345972: Luis Gutiérrez(D)
471 0.345972: Sam Farr(D)
472 0.345972: Claire McCaskill(D)
473 0.345972: Brenda Lawrence(D)
474 0.345972: John Moolenaar(R)
475 0.343602: Michelle Lujan Grisham(D)
476 0.343602: Cedric Richmond(D)
477 0.343602: Mike Rounds(R)
478 0.343602: Tom Rooney(R)
479 0.343602: Tim Kaine(D)
480 0.343602: John Boozman(R)
481 0.343602: Kevin McCarthy(R)
482 0.341232: Steve Pearce(R)
483 0.341232: Frank Pallone(D)
484 0.341232: Pete Aguilar(D)
485 0.341232: Eric Swalwell(D)
486 0.338863: Juan Vargas(D)
487 0.338863: Tom Cotton(R)
488 0.338863: Beto O&#39;Rourke(D)
489 0.338863: Bobby Rush(D)
490 0.338863: Denny Heck(D)
491 0.336493: Debbie Wasserman Schultz(D)
492 0.336493: Brad Sherman(D)
493 0.336493: Donna Edwards(D)
494 0.336493: Dave Joyce(R)
495 0.334123: John Boehner(R)
496 0.334123: Tim Huelskamp(R)
497 0.334123: Justin Amash(R)
498 0.334123: Mark Takai(D)
499 0.331754: Corrine Brown(D)
500 0.331754: Steny Hoyer(D)
501 0.331754: Donald Norcross(D)
502 0.331754: Diana DeGette(D)
503 0.331754: Robert Brady(D)
504 0.329384: Martin Heinrich(D)
505 0.329384: Rod Blum(R)
506 0.329384: Mark Meadows(R)
507 0.329384: John Culberson(R)
508 0.327014: Peter Visclosky(D)
509 0.327014: Nancy Pelosi(D)
510 0.327014: Debbie Stabenow(D)
511 0.327014: Ruben Gallego(D)
512 0.324645: J. Forbes(R)
513 0.324645: K. Conaway(R)
514 0.324645: Bob Gibbs(R)
515 0.324645: Daniel Webster(R)
516 0.322275: Mike Rogers(R)
517 0.322275: Dan Sullivan(R)
518 0.322275: Ann Kirkpatrick(D)
519 0.322275: Emanuel Cleaver II(D)
520 0.322275: Michael Bennet(D)
521 0.319905: Gregory Meeks(D)
522 0.319905: Hakeem Jeffries(D)
523 0.319905: Barbara Comstock(R)
524 0.319905: Collin Peterson(D)
525 0.319905: Brendan Boyle(D)
526 0.319905: Mike Grimm(R)
527 0.317536: Daniel Coats(R)
528 0.317536: Dana Rohrabacher(R)
529 0.315166: Dwight Evans(D)
530 0.315166: Rick Nolan(D)
531 0.312796: Trent Kelly(R)
532 0.310427: Robert Hurt(R)
533 0.305687: Mimi Walters(R)
534 0.298578: Debbie Dingell(D)
535 0.298578: Richard Shelby(R)
536 0.296209: Colleen Hanabusa(D)
537 0.296209: French Hill(R)
538 0.291469: Daniel Lipinski(D)
539 0.291469: Barry Loudermilk(R)
540 0.291469: James Comer(R)
541 0.289100: Amata Radewagen(R)
542 0.286730: Christopher Murphy(D)
543 0.284360: Tom Graves(R)
544 0.284360: Thom Tillis(R)
545 0.281991: Glenn Grothman(R)
546 0.279621: Norma Torres(D)
547 0.258294: John Mica(R)
548 0.255924: Alan Nunnelee(R)

In [68]:
test = getJSON('https://api.propublica.org/congress/v1/members/N000147/bills/introduced.json')

In [139]:
test2 = getJSON('https://api.propublica.org/congress/v1/114/bills/hr6477/cosponsors.json')

In [135]:
test3 = getJSON('https://api.propublica.org/congress/v1/114/bills/hr6431/cosponsors.json')

In [136]:
test3 = getJSON('https://api.propublica.org/congress/v1/114/bills/hr6431/cosponsors.json')
test3['results'][0]['latest_major_action'][:17] == 'Became Public Law'


Out[136]:
True

In [157]:
test4 = load_obj('congress' + str(CONGRESS) + '_filteredGraph')

In [3]:
len(load_obj('congress114_members'))


Out[3]:
548

In [4]:
getJSON('https://api.propublica.org/congress/v1/'+ str(114) +'/house/members.json')['results'][0]['members'][0]

# print(propub)


Out[4]:
{'api_uri': 'https://api.propublica.org/congress/v1/members/A000055.json',
 'crp_id': '',
 'cspan_id': '45516',
 'district': '4',
 'domain': 'aderholt.house.gov',
 'dw_nominate': '',
 'facebook_account': 'RobertAderholt',
 'first_name': 'Robert',
 'google_entity_id': '/m/024p03',
 'govtrack_id': '400004',
 'icpsr_id': '29701',
 'id': 'A000055',
 'ideal_point': '',
 'in_office': 'false',
 'last_name': 'Aderholt',
 'leadership_role': '',
 'middle_name': 'B.',
 'missed_votes': '22',
 'missed_votes_pct': '1.66',
 'next_election': '2016',
 'ocd_id': 'ocd-division/country:us/state:al/cd:4',
 'office': '',
 'party': 'R',
 'phone': '',
 'rss_url': 'https://aderholt.house.gov/rss.xml',
 'seniority': '20',
 'state': 'AL',
 'total_present': '0',
 'total_votes': '1325',
 'twitter_account': 'Robert_Aderholt',
 'url': 'https://aderholt.house.gov',
 'votes_with_party_pct': '94.40',
 'votesmart_id': ''}

In [ ]:
# # print(propub)
# print(len(propub))
# propub[0]['govtrack_id']

for i in range(1, 448):
    govtrack = propub[i]['govtrack_id']
    requests.get('https://www.govtrack.us/api/v2/person/' + str(govtrack)).json()

In [ ]: