【问题标题】:How to extract data from dropdown list using python如何使用python从下拉列表中提取数据
【发布时间】:2019-11-14 02:01:45
【问题描述】:

我正在尝试使用 python 从下拉列表中提取数据。 link: 从此,

State   
Category    
District    
CTSO    
Division    
Map Type

提到,我想通过使用beautifulsoup或请求库一一选择来从所有数据中提取数据。

在我的代码中,我静态地给出了地区名称,但我想一个一个地选择它并从中提取数据。

我试过了,但是没用 `

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)
`

我想要: 区名 所有 taluka 名字 和所有村庄的名字。像这样

【问题讨论】:

    标签: python html web-scraping beautifulsoup request


    【解决方案1】:

    类似的东西

    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'])
    

    【讨论】:

    • 其实我不想给那个`["Akola", "Amravati", "Buldana", "yavatmal", "washim"]` 我想动态地取那个地区的价值
    • @MasterAI 它打印选项的值。如果我错了,请纠正我。
    • 它只会打印数字,但我想要州-马哈拉施特拉邦、类别-城市/农村、地区-名称、来自该地区的所有 talukas、Division-来自该 taluka 的所有部门。
    • 指向包含此信息的页面。注意 - 我只能阅读英文。
    • 但是文本,即马拉地语中的区和taluka名称,所以我们可以用相同的语法正确阅读它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 2021-11-02
    • 2020-03-06
    相关资源
    最近更新 更多