day3

本文深入讲解了爬虫技术的核心原理,包括使用Requests库进行网页请求,解析与提取数据的方法,以及如何保存数据到本地。同时,通过实战案例,如爬取豆瓣电影Top250,展示了爬虫技术的具体应用。

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

# 今日内容
# 1.爬虫原理
# 2.Requests请求库
# 3.抓包分析
# 打开游览器的开发者模式(检查)---选中network
# 找到访问页面后面的xxx.html
# 1.请求url(访问的网站地址)
# 2.请求方式:
# GET:
# 直接发送请求获取数据
#
# POST:
# 需要携待用户信息往目标地址发送请求
# 3.响应状态码
# 2xx:成功
# 3xx:重定向
# 4xx:找不到资源
# 5xx:服务器错误
# 4.请求头像信息
# User-Agent:用户代理(证明是通过电脑设备及游览器发送的请求)
# Cookies:登录用户真实信息(证明你是目标网站的用户)
# Referer:上一次访问的url(证明你是从目标网站跳过来的)
# 5.请求体:
# POST请求才或有请求体
# Form Data
# {
# 'user':'Louis Yang'
# 'pwd':'123456'
# }
# 爬虫全过程
#发送请求(需要请求库:Requests请求库,Slenium请求库)
# 获取响应数据(只要往服务器发送请求,请求通过会返回响应数据)
# 解析并提取数据(需要解析库:re;BeautifulSoup4;Xpath...)
# 保存到本地(文件处理;数据库;MongoDB存储库)
import requests
#导入requests请求库
response=requests.get(url='https://www.baidu.com/')
response.encoding='utf-8'
print(response.text)
with open('baidu.html','w',encoding='utf-8') as f:
f.write(response.text)



附录:爬虫豆瓣电影top250
# 1.发送请求
# 2.解析数据
# 3.保存数据


import requests
import re

# 爬虫三部曲

# .:从当前位置开始
# *:查找所有
# ?:找到第一个不找

# .*?:非贪婪匹配
# .*:贪婪匹配
# (.*?):提取括号内的数据


# 1.发送请求
def get_page(base_url):
response = requests.get(base_url)
return response

# 2.解析文本
def parse_index(text):

res = re.findall('<div class="item">.*?<em class="">(.*?)</em>.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?导演:(.*?)</p>.*?<span class="rating_num".*?>(.*?)</span>.*?<span>(.*?)人评价</span>.*?<span class="inq">(.*?)</span>', text, re.S)
# print(res)
return res

# 3.保存数据
def save_data(data):
with open('douban.txt', 'a', encoding='utf-8') as f:
f.write(data)

# main + 回车键
if __name__ == '__main__':
# num = 10
# base_url = 'https://movie.douban.com/top250?start={}&filter='.format(num)

num = 0
for line in range(10):
base_url = f'https://movie.douban.com/top250?start={num}&filter='
num += 25
print(base_url)

# 1.发送请求,调用函数
response = get_page(base_url)

# 2.解析文本
movie_list = parse_index(response.text)

# 3.保存数据
# 数据的格式化
for movie in movie_list:
# print(movie)

# 解压赋值
# 电影排名、电影url、电影名称、导演 - 主演 - 类型、电影评分、评价人数、电影简介
v_top, v_url, v_name, v_daoyan, v_point, v_num, v_desc = movie
# v_top = movie[0]
# v_url = movie[1]
moive_content = f'''
电影排名: {v_top}
电影url: {v_url}
电影名称: {v_name}
导演主演: {v_daoyan}
电影评分: {v_point}
评价人数: {v_num}
电影简介: {v_desc}
\n
'''

print(moive_content)

# 保存数据
save_data(moive_content)




自主学习了查看微信好友列表:
import itchat
itchat.login()
friends = itchat.get_friends(update=True)[0:]
male = female = other = 0
for i in friends[1:]:
sex = i["Sex"]
if sex == 1:
male += 1
elif sex == 2:
female += 1
else:
other += 1
total = len(friends[1:])
print(
'全部好友:%s' %(total) + "\n" +
'女性好友:%s' % (female) + "\n"
)

转载于:https://www.cnblogs.com/Louis-Yang/p/11095062.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值