简体   繁体   中英

How to extract data from dropdown list using python

I am trying to extract the data from drop down using python. link : From that,

State   
Category    
District    
CTSO    
Division    
Map Type

mentions so, I want to extract data from all by selecting one by one using beautifulsoup or request library.

In my code, I gave district name statically but I want to select it one by one and extract data from it.

I tried but it doesn't work `

import requests
import urllib.request
import time
from bs4 import BeautifulSoup

list = ["Akola", "Amravati", "Buldana", "yavatmal", "washim"]

url = "http://igrmaharashtra.gov.in/eASR/eASRCommon.aspx?hDistName="

for lists in list:
    urls= url+lists
    # print(urls)
    response = requests.get(urls)
    # print(response)
    soup = BeautifulSoup(response.text, "html.parser")
    # print(soup)
    # soups= soup.find_all("div", {"id": "level_text_2"})
    # print(soups)

    # for ids in soup.find_all(attrs={'id': 'location_table'}):
    #     print(ids)
    #     ids = ids.text.strip()
    #     print(ids)

    for option in soup.find_all('option'):
        print(option.text)
    for tag in soup.find_all(class_="panel-body"):
        # print(tag.get('ctl00_ContentPlaceHolder5_ddlDistrict'))
        print(tag)
`

I want: District name All taluka names and all villages name. like that

Something like this

import requests
from bs4 import BeautifulSoup

for dist_name in ["Akola", "Amravati", "Buldana", "yavatmal", "washim"]:
    print('-- {} --'.format(dist_name))
    r = requests.get('http://igrmaharashtra.gov.in/eASR/eASRCommon.aspx?hDistName={}'.format(dist_name))
    if r.status_code == 200:
        soup = BeautifulSoup(r.text, "html.parser")
        select_list = soup.find_all('select')
        for select in select_list:
            print('Select name: ' + select.attrs['name'])
            option_list = select.find_all('option')
            for option in option_list:
                print('\t option: ' + option.attrs['value'])

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM