首先免责声明:
本爬虫代码仅用于Python技术学习与合法研究,使用者需自行确保爬取行为符合所在地区法律法规、目标网站robots协议及服务条款,严禁抓取个人隐私、受版权保护的敏感数据,不得高频请求干扰网站正常运行。因不当使用产生的所有法律责任与后果,均由使用者本人全部承担,代码提供方不承担任何连带责任。
0.假定需求:
扒自己的博客首页的博客列表第一页的数据
https://zhaoxinghai.blog.csdn.net
1.准备工作:安装要用到的两个三方库
用cmd命令行执行以下命令进行安装。
如果提示pip命令无效的话,看这篇文章安装一下pip:Python pip安装-CSDN博客
pip install requests
pip install beautifulsoup4
2.代码如下:
python
import requests
from bs4 import BeautifulSoup
url = 'https://zhaoxinghai.blog.csdn.net/'
# 发送HTTP请求
response = requests.get(url)
# 请求是否成功
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# # 获取页面数据 div 具体网页要看具体的标签名
# text = soup.find('div').text
# print("所有数据:", text)
list = soup.find_all('div', class_='blog-list-box-top') #子标签类名
for index,value in enumerate(list):
# 不推荐使用.string 因为多层级标签或者有空数据的情况会返回None 而.text会返回所有子标签的数据拼接或者空字符串""
# print(f"博客:{index+1}", value.text)
# .text的底层也是用的get_text方法,不过text不可以加参数,而这个可以使用参数,比如去除首尾空格strip=True
print(f"首页第{index+1}条博客:", value.get_text(strip=True))
# 获取所有链接
# links = soup.find_all('a')
# for link in links:
# print("链接:", link.get('href'))
else:
print("请求失败,状态码:", response.status_code)
3.运行结果:
执行命令:py test.py 或者 python test.py

附-提取数据的三个方法的横向对比:
