Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import mechanicalsoup
- import csv
- username = ""
- password = ""
- browser = mechanicalsoup.Browser()
- login_page = browser.get("")
- login_form = login_page.soup.select("#UserLoginForm")[0]
- login_form.select("#UserEmail")[0]['value'] = username
- login_form.select("#UserPassword")[0]['value'] = password
- home_page = browser.submit(login_form, login_page.url)
- stack = []
- for x in range(30,35):
- url = ""
- project_page = browser.get(url)
- try:
- name = project_page.soup.find("div", class_="project-name").find("h2").text
- except:
- continue
- try:
- scope = project_page.soup.find("div", class_="project-inner-table").find("table").find("span").find("p").text
- except:
- scope = ""
- try:
- continent = project_page.soup.find("div", class_="project-inner-table").find("div").find("table").findAll("td")[1].contents[2][2:]
- except:
- continent = ""
- try:
- region = project_page.soup.find("div", class_="project-inner-table").find("div").find("table").findAll("td")[1].contents[5][2:]
- except:
- region = ""
- try:
- country = project_page.soup.find("div", class_="project-inner-table").find("div").find("table").findAll("td")[1].contents[8][2:]
- except:
- country = ""
- try:
- province = project_page.soup.find("div", class_="project-inner-table").find("div").find("table").findAll("td")[1].contents[11][2:]
- except:
- province = ""
- try:
- city = project_page.soup.find("div", class_="project-inner-table").find("div").find("table").findAll("td")[1].contents[14][2:]
- except:
- city = ""
- try:
- value = project_page.soup.find("div", class_="right-side").find("table").findAll("tr")[0].contents[3].contents[1].find("td").find("span").text
- except:
- value = ""
- try:
- date = project_page.soup.find("div", class_="right-side").find("table").findAll("tr")[0].contents[3].findAll("td")[2].text
- except:
- date = ""
- try:
- mineral = " ".join(project_page.soup.find("div", class_="right-side").find("table").findAll("tr")[2].findAll("td")[1].text.split())
- except:
- mineral = ""
- try:
- mining_type = " ".join(project_page.soup.find("div", class_="right-side").find("table").findAll("tr")[5].findAll("td")[1].text.split())
- except:
- mining_type = ""
- data = {}
- data['id'] = x
- data['name'] = name
- data['scope'] = scope
- data['continent'] = continent
- data['region'] = region
- data['country'] = country
- data['province'] = province
- data['city'] = city
- data['value'] = value
- data['date'] = date
- data['mineral'] = mineral
- data['mining_type'] = mining_type
- stack.append(data)
- with open('export.csv', 'w') as f:
- w = csv.DictWriter(f, stack[0].keys())
- w.writeheader()
- for y in len(stack):
- w.writerow(stack[y])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement