Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- from bs4 import BeautifulSoup
- import re
- from operator import itemgetter
- r = requests.get('http://en.wikipedia.org/wiki/List_of_U.S._states_and_territories_by_population')
- soup = BeautifulSoup(r.text)
- states = []
- for flag in soup.find_all("span", class_="flagicon"):
- if len(states) > 51:
- break
- state = flag.next_sibling.string
- if state == 'District of Columbia':
- state = "Washington D.C"
- population = int(flag.parent.findNext('td').string.replace(',',''))
- states.append((state, population),)
- r = requests.get('http://news.ycombinator.com/item?id=5222370')
- regex = r'>(?P<state>[\w\s.]+)</font></div></td></tr><tr><td></td><td class="default"><span class="comhead"><span id=score_[\d]+>(?P<score>[\d]*) point[s]?<'
- out = []
- for match in re.findall(regex, r.text):
- for state in states:
- if state[0] == match[0]:
- out.append((state[0], float(match[1])/state[1]),)
- out = sorted(out, key=itemgetter(1), reverse=True)
- for r in range(len(out)):
- print "%-2d %-20s : %f" % (r+1, out[r][0], out[r][1]*1000000)
Advertisement
Add Comment
Please, Sign In to add comment