【python爬虫】爬取疾病资料库

本文介绍如何使用Python爬虫从疾病资料库http://web.tfrd.org.tw/genehelp/diseaseDatabase.html?selectedIndex=0获取疾病名称。尽管网页源代码中未直接显示数据,但通过F12开发者工具可以找到请求URL。解析该URL的内容,发现大部分文字即为疾病名称。代码实现中,简单地将中文字符识别为疾病名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

资料库地址:http://web.tfrd.org.tw/genehelp/diseaseDatabase.html?selectedIndex=0

资料库它长这样:

这次主要爬取其中的疾病名称,难点在于网页源代码是看不到数据的,但是可以通过F12开发者工具查看网页请求数据的源网址

 

可以看到requestURL的地址,打开这个地址可以看到:

 

 其中的大部分文字就是疾病名称,爬取这个就不难了。

首先将源码中的中文字符看作疾病名称!

import requests
import bs4
from bs4 import BeautifulSoup

url= 'http://web.tfrd.org.tw/genehelpDB/GeneHelp/DiseaseDBIndex/'
path= r'C:\Users\谢迎超\Deskt
### Python 网络爬虫教程 编写 Python 网络爬虫程序涉及多个步骤,从设计环境搭建到数据爬取和解析,再到数据存储和可视化。以下是一个完整的流程指南,帮助您构建一个基本的爬虫程序。 #### 设计环境和目标分析 在开始编写爬虫之前,需要明确设计环境和目标。推荐使用以下工具和环境: - **IDE**:PyCharm - **Python 版本**:Python 3 目标可以是爬取特定网站的数据,例如天气信息或电影数据。例如,初始 URL 可以是 `www.tianqihoubao.com/aqi`,用于获取天气数据 [^1]。 #### 爬虫运行流程分析 爬虫的基本流程包括以下几个步骤: 1. **发起请求**:向目标网站发送请求。 2. **获取响应内容**:接收服务器返回的响应数据。 3. **解析数据**:从响应数据中提取所需信息。 4. **保存数据**:将提取的数据存储到文件或数据库中 [^1]。 #### 请求方式 常见的 HTTP 请求方式包括 GET 和 POST: - **GET**:用于从服务器获取数据。 - **POST**:用于向服务器提交数据。 在 GET 请求中,参数通常包含在 URL 中,而在 POST 请求中,参数通常包含在请求体中 [^1]。 #### 示例代码 以下是一个简单的 Python 爬虫示例,使用 `requests` 库发送 GET 请求并解析 HTML 内容: ```python import requests from bs4 import BeautifulSoup def fetch_weather_data(url): response = requests.get(url) if response.status_code == 200: soup = BeautifulSoup(response.text, 'html.parser') # 解析数据,例如提取所有链接 links = [a['href'] for a in soup.find_all('a', href=True)] return links else: return None # 示例URL url = 'http://www.tianqihoubao.com/aqi' weather_data = fetch_weather_data(url) print(weather_data) ``` #### 数据可视化 爬取数据后,可以使用 `pyecharts` 或其他可视化库对数据进行展示。例如,以下代码展示如何使用 `pyecharts` 创建一个饼图: ```python from pyecharts import charts, options as opts # 假设map_data_title和map_data已经定义 map_data_title = ['USA', 'China', 'Japan'] map_data = [100, 200, 150] result = [[map_data_title[i], map_data[i]] for i in range(len(map_data_title))] # 创建Pie实例 chart = charts.Pie() # 添加标题和数据 chart.add("电影上映数饼图(单位:个)", result, radius=["50%", "60%"]) # 显示 chart.set_global_opts(title_opts=opts.TitleOpts(title="电影上映数饼图")) chart.render("movie_pie_chart.html") ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值