簡體   English   中英

如何使用python從網站的搜索欄中提取數據?

[英]How to extract data from a website's search bar using python?

我想從一個包含許多醫生和醫院名稱的網站中提取數據我想做一些評估所以我決定使用搜索欄但不幸的是似乎無法得到我想要的結果!

我怎樣才能做到這一點?

from bs4 import BeautifulSoup
import requests
import urllib.request


types_of_doctor = ['dermatologist', 'gynecologist', 'paediatric-surgeon', 'cardiologist', 'diabetologists', 'eye-specialist']
def search():
    for query in types_of_doctor:
        # Constracting http query
        url = 'http://health.hamariweb.com/doctors/' + query
        r = requests.get(url)
        soup = BeautifulSoup(r.content, 'html.parser')
        Doctors_name = soup.findAll('a', {"class" : "NormalText"})
        for doctors in Doctors_name:
            print(doctors.text)
        links = soup.select('a')
        header = types_of_doctor
        filename = 'AllNames.csv'
        f = open(filename, 'w')
        for head in header:
            f.write(head+'\t')
        for doctors in Doctors_name:
            print(doctors.text)
            f.write(doctors.text)
    search()

你需要移動你的

    filename = 'AllNames.csv'
    f = open(filename, 'w')

在循環之外。 否則,您正在為每個查詢初始化和覆蓋文件。

    def search():
    filename = 'AllNames.csv'
    f = open(filename, 'w')
         for query in types_of_doctor:

從網站中提取信息的技術是網絡抓取 該技術主要側重於將網絡上的非結構化數據(HTML 格式)轉換為結構化數據(數據庫或電子表格)。

您可以通過多種方式執行網頁抓取。 其中之一是通過使用BeautifulSoup 的Python 來幫助完成這項任務。

請閱讀以下文章:

https://www.analyticsvidhya.com/blog/2015/10/beginner-guide-web-scraping-beautiful-soup-python/

https://medium.freecodecamp.org/how-to-scrape-websites-with-python-and-beautifulsoup-5946935d93fe

根據您的需要調整它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM