用Python爬取百度百科行水膏的信息并抽取知识的代码
时间: 2024-03-19 12:41:49 浏览: 19
好的,以下是使用Python爬取百度百科行水膏的信息并抽取知识的代码:
```python
import requests
from bs4 import BeautifulSoup
# 定义要爬取的页面链接
url = 'https://baike.baidu.com/item/行水膏'
# 发送请求
response = requests.get(url)
# 使用BeautifulSoup解析网页
soup = BeautifulSoup(response.text, 'html.parser')
# 抽取知识
summary = soup.find('div', {'class': 'lemma-summary'}).get_text().strip()
# 输出结果
print(summary)
```
解释一下代码:
1. 首先导入了需要用到的库:requests和BeautifulSoup。
2. 定义了要爬取的页面链接。
3. 发送请求,得到页面的HTML代码。
4. 使用BeautifulSoup解析HTML代码,得到BeautifulSoup对象。
5. 使用find方法找到页面中`class`属性为`lemma-summary`的`div`标签,并获取其文本内容。
6. 使用`strip()`方法去除文本内容中的空格和换行符。
7. 输出抽取得到的知识。
相关问题
用Python爬取百度百科行水膏的信息并抽取药物组成,方剂功效,用法用量的三元组的代码
好的,以下是使用Python爬取百度百科行水膏的信息并抽取药物组成、方剂功效、用法用量的三元组的代码:
```python
import requests
from bs4 import BeautifulSoup
# 定义要爬取的页面链接
url = 'https://baike.baidu.com/item/行水膏'
# 发送请求
response = requests.get(url)
# 使用BeautifulSoup解析网页
soup = BeautifulSoup(response.text, 'html.parser')
# 抽取药物组成
composition = soup.find('dt', text='药物组成:').find_next_sibling('dd').get_text().strip()
# 抽取方剂功效
efficacy = soup.find('dt', text='方剂功效:').find_next_sibling('dd').get_text().strip()
# 抽取用法用量
usage_dosage = soup.find('dt', text='用法用量:').find_next_sibling('dd').get_text().strip()
# 输出结果
print('药物组成:{}'.format(composition))
print('方剂功效:{}'.format(efficacy))
print('用法用量:{}'.format(usage_dosage))
```
解释一下代码:
1. 首先导入了需要用到的库:requests和BeautifulSoup。
2. 定义了要爬取的页面链接。
3. 发送请求,得到页面的HTML代码。
4. 使用BeautifulSoup解析HTML代码,得到BeautifulSoup对象。
5. 使用find方法找到页面中`text`属性为`药物组成:`的`dt`标签,并找到其下一个兄弟节点的文本内容。
6. 使用`strip()`方法去除文本内容中的空格和换行符,得到药物组成。
7. 使用find方法找到页面中`text`属性为`方剂功效:`的`dt`标签,并找到其下一个兄弟节点的文本内容。
8. 使用`strip()`方法去除文本内容中的空格和换行符,得到方剂功效。
9. 使用find方法找到页面中`text`属性为`用法用量:`的`dt`标签,并找到其下一个兄弟节点的文本内容。
10. 使用`strip()`方法去除文本内容中的空格和换行符,得到用法用量。
11. 输出抽取得到的药物组成、方剂功效、用法用量的三元组。
python 爬取 百度百科
Python可以使用requests模块和beautifulsoup库来爬取百度百科的信息。首先,我们需要使用requests模块发送一个GET请求,将百度百科的网页源代码下载下来。然后,使用beautifulsoup库解析网页源代码,提取出需要的信息。
具体步骤如下:
1. 导入requests和beautifulsoup库:
```
import requests
from bs4 import BeautifulSoup
```
2. 使用requests发送GET请求获取百度百科的网页源代码:
```
url = 'http://baike.baidu.com/'
response = requests.get(url)
html_doc = response.text
```
3. 使用beautifulsoup解析网页源代码,提取需要的信息:
```
soup = BeautifulSoup(html_doc, 'html.parser')
# 可以使用soup.find()或soup.find_all()方法提取出指定的标签或属性
# 例如,提取百度百科首页的所有词条链接
links = soup.find_all('a', class_='lemma-link')
for link in links:
print(link.text)
```
以上就是使用Python爬取百度百科信息的简单示例。当然,实际的爬虫工程会更加复杂,需要考虑网页结构的变化、反爬虫机制等因素。可以根据具体需求进行改进,例如加入代理、设置请求头、使用多线程等。