爬虫学习笔记
爬虫学习笔记

爬虫学习笔记

本笔记根据B站教程学习
【【Python+爬虫】爆肝两个月!拜托三连了!这绝对是全B站最用心(没有之一)的Python+爬虫公开课程,从入门到(不)入狱 !】 https://www.bilibili.com/video/BV1d54y1g7db/?share_source=copy_web&vd_source=61190f68ab64f8d96c38c78f71703d91

HTTP请求

请求类别

分成两种请求
1.GET
2.POST

请求结构

1.请求行

网址/资源路径?查询参数1&查询参数2 协议版本

2.请求头

Host:
User-Agent: //客户端相关信息
Accept:  //客户端接收的数据类型

3.请求体

客户端传给服务器的其它数据

HTTP响应

1.状态行

协议版本 状态码 状态消息

2.响应头

3.响应体

服务器想给客户的数据内容

Hello World

import requests  

head = {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64)}   #伪装请求头装成是正常浏览器  
response = requests.get(http://books.toscrape.com/,headers=head)  

print(response)  

print(response.status_code) #状态码  
print(response.ok)          #bool值返回是否请求成功

HTML

建议去看文档和菜鸟教程

豆瓣电影排名爬取实战

import requests  
from bs4 import BeautifulSoup  

headers = {  
    User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.82  
}   #伪装请求头装成是正常浏览器  

for start_num in range(0,250,25):   #因为一张页面有25个电影,所以后面网址传参start=每次增加25  
    response = requests.get(fhttps://movie.douban.com/top250?start={start_num},headers=headers)   #这里是字符串加变量的方法  
    html = response.text    #获取html网页源码  
    soup = BeautifulSoup(html,html.parser)   #指定解析器解析 html 内容  
    all_titles = soup.find_all(span,attrs={class:title})  #找到html中所有span类型并且class值为title的元素(通过分析网页发现的)  
    for title in all_titles:    #打印所有all_titles结构体中的内容  
        title_string = title.string     #不要html结构的元素,只提取出元素中的string内容  
        if / not in title_string:     #分析结果发现,带/的是电影原名不是译名,所以不打印这部分名字  
            print(title_string)

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注