【Python】Requests 库使用示例
本文使用Python+requests库对微博页面进行数据抓取和简单的数据清洗
(图片来源网络,侵删)
使用Requests库进行网络爬虫
requests是一个Python的HTTP客户端库,用于发送HTTP请求。它简单易用,同时提供了足够的功能来处理各种网络请求。
1. 安装requests库
在Python中安装requests库,可以使用pip,使用国内镜像源,下载速度更快:
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
常用的镜像源可以参考以下文章:Python常用镜像库源
2. 基本用法
2.1 发送GET请求
import requests
# 发送GET请求
response = requests.get('https://www.weibo.com/')
# 检查响应状态码
if response.status_code == 200:
print('成功获取页面内容')
else:
print('请求失败,状态码:', response.status_code)
2.2 解析响应内容
# 获取响应的文本内容 page_content = response.text # 打印前500个字符 print(page_content[:500])
3. 数据清洗
通常,抓取到的HTML页面需要经过数据清洗,以提取有用的信息。可以使用BeautifulSoup库进行HTML的解析和清洗。
3.1 安装BeautifulSoup库
pip install beautifulsoup4
3.2 使用BeautifulSoup清洗数据
from bs4 import BeautifulSoup
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(page_content, 'html.parser')
# 假设我们要提取微博用户的昵称
user_nicknames = soup.find_all('nick-name')
# 清洗并打印用户昵称
for nickname in user_nicknames:
print(nickname.get_text().strip())
4. 完整示例
以下是一个简单的示例,展示了如何抓取微博页面并清洗数据。
import requests
from bs4 import BeautifulSoup
# 微博页面URL(需登录微博,点击任一内容页面)
url = 'https://www.weibo.com/'
# 发送GET请求
response = requests.get(url)
# 检查响应状态码
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 假设我们要提取所有微博用户的昵称
user_nicknames = soup.find_all('nick-name')
# 清洗并打印用户昵称
for nickname in user_nicknames:
print(nickname.get_text().strip())
else:
print('请求失败,状态码:', response.status_code)
请注意,实际的微博页面结构可能与此示例不同,在摘取信息的时候需要根据实际情况调整选择器和清洗逻辑。此外,微博可能会采取反爬虫措施,因此在实际应用中可能需要其他技术来绕过这些措施。
这个示例展示了如何使用requests库来获取微博页面的HTML内容,并使用BeautifulSoup库来解析和清洗数据。在实际应用中,您需要根据微博页面的具体结构来调整选择器。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
