您现在的位置是:首页 > 编程 > 

一篇文章入门python爬虫(需要html,css基础)

2025-07-19 18:24:34
一篇文章入门python爬虫(需要html,css基础) 一篇文章入门python爬虫(需要html,css基础)代码演示 创建项目 首先安装requests包 pip install -i / requests 测试代码 代码语言:javascript代码运行次数:0运行复制# 1. 导入模块 import requests # 2. 发送请求,获取响应 respe = re

一篇文章入门python爬虫(需要html,css基础)

一篇文章入门python爬虫(需要html,css基础)

代码演示

  • 创建项目
  • 首先安装requests包 pip install -i / requests
  • 测试代码
代码语言:javascript代码运行次数:0运行复制
# 1. 导入模块
import requests

# 2. 发送请求,获取响应
respe = requests.get("/") # 这是一个用于测试的网络链接

# . 打印响应体
print(respe)
# 打印响应码
print(respe.status_code)

print(decode())

运行结果

  • 爬虫练习 只要是响应码是可以的,响应可以通过,那么就响应成功,然后我们打印返回结果,
代码语言:javascript代码运行次数:0运行复制
# 1. 导入模块
import requests

# 2. 发送请求,获取响应
respe = requests.get("/") # 这是一个用于测试的网络链接

if :
    print()
else:
    print("请求失败")

运行结果

爬取豆瓣top250数据案例

案例演示网址

  • 测试代码
代码语言:javascript代码运行次数:0运行复制
# 1. 导入模块
import requests

# 2. 发送请求,获取响应
respe = requests.get(";) # 这是一个用于测试的网络链接

print(respe.status_code)

运行结果 这个运行结果是418,意思是愚人节,表示网页发现了,访问这个网页的是程序,不是人类。

  • 定义请求头

在网页部分点击F12,点击网络

刷新网页,可以看见很多发送的请求

点击其中的任意一个请求

到user-agent

把这个请求头复制到代码中。

完整代码

代码语言:javascript代码运行次数:0运行复制
# 1. 导入模块
import requests

headers = {
    "user-agent": "Mozilla/5.0 (Windows T 10.0; Win64; x64) AppleWebKit/57.6 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/57.6 Edg/110.0.1587.69"
}
# 2. 发送请求,获取响应
respe = requests.get(";, headers = headers) # 这是一个用于测试的网络链接

print(respe.status_code)

运行结果

  • BeautifulSoup库来解析网页源码
  • 首先安s4包 pip install -i / bs4

如果上面命令安装失败,那么使用这个命令

代码语言:javascript代码运行次数:0运行复制
 -m pip install bs4 -i  --trusted-host pypi.douban

选择需要获取的标签的情况,比如我现在想要获取这个评分,然后可以看出来,它是spanB标签下的rating_num属性

完整代码

代码语言:javascript代码运行次数:0运行复制
import requests
from bs4 import BeautifulSoup

headers = {
    "user-agent": "Mozilla/5.0 (Windows T 10.0; Win64; x64) AppleWebKit/57.6 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/57.6 Edg/110.0.1587.69"
}
# 2. 发送请求,获取响应
respe = requests.get(";, headers = headers) # 这是一个用于测试的网络链接

content = 

# 获取文本的树状结构
soup = BeautifulSoup(content,"html.parser")

# 获取评分集合
all_rating_nums = soup.findAll("span", attrs={"class", "rating_num"})
for rating_num in all_rating_nums:
    print(rating_num)

运行结果,获取到了一页的评分情况

通过切片获取具体评分

代码语言:javascript代码运行次数:0运行复制
import requests
from bs4 import BeautifulSoup

headers = {
    "user-agent": "Mozilla/5.0 (Windows T 10.0; Win64; x64) AppleWebKit/57.6 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/57.6 Edg/110.0.1587.69"
}
# 2. 发送请求,获取响应
respe = requests.get(";, headers = headers) # 这是一个用于测试的网络链接

content = 

# 获取文本的树状结构
soup = BeautifulSoup(content,"html.parser")

# 获取评分集合
all_rating_nums = soup.findAll("span", attrs={"class", "rating_num"})
for rating_num in all_rating_nums:
    print(rating_num.string)

运行结果

现在我想要获取每一部的与评分相结合的情况。 获取作品姓名代码

首先是观察作品名字的盒子信息,可以知道的是hd这个盒子下的,a标签中。

在这里插入图片描述

关键操作代码如下

代码语言:javascript代码运行次数:0运行复制
all_titles = soup.findAll("div", attrs={"class", "hd"})
for title in all_titles:
    all_links = title.findAll("span", attrs={"class", "title"})
    for link in all_links:
        print(link.string.split("/")[0])

运行结果

  • 分页操纵获取全部 观察这个分页情况,还有页面情况,url情况,一共有10页,每页25个

我们换页之后的样子

直接用这个链接也可以的

然后这个就知道怎么写了,通过一个循环不断的设置,然后爬取十次就可以了,然后完整代码如下。

代码语言:javascript代码运行次数:0运行复制
import requests
from bs4 import BeautifulSoup

headers = {
    "user-agent": "Mozilla/5.0 (Windows T 10.0; Win64; x64) AppleWebKit/57.6 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/57.6 Edg/110.0.1587.69"
}

for i in range(0, 251, 25):
    url = "=" + str(i)
    # 2. 发送请求,获取响应
    respe = requests.get(url, headers = headers) # 这是一个用于测试的网络链接

    content = 
    # 获取文本的树状结构
    soup = BeautifulSoup(content,"html.parser")

    # 获取评分集合
    # all_rating_nums = soup.findAll("span", attrs={"class", "rating_num"})
    # for rating_num in all_rating_nums:
    #     print(rating_num.string)

    all_titles = soup.findAll("div", attrs={"class", "hd"})
    for title in all_titles:
        all_links = title.findAll("span", attrs={"class", "title"})
        for link in all_links:
            print(link.string.split("/")[0])

运行完毕,爬取成功

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:202-05-12,如有侵权请联系 cloudcommunity@tencent 删除python爬虫基础入门ctml

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1144856.html

相关标签:无
上传时间: 2025-07-19 11:25:34
留言与评论(共有 20 条评论)
本站网友 尽在不言中宣芋
17分钟前 发表
比如我现在想要获取这个评分
本站网友 短期拆借
22分钟前 发表
代码语言:javascript代码运行次数:0运行复制import requests from bs4 import BeautifulSoup headers = { "user-agent"
本站网友 北京慈铭体检
6分钟前 发表
一共有10页
本站网友 动植物园
20分钟前 发表
获取响应 respe = requests.get(";
本站网友 黄色小书
24分钟前 发表
原始发表:202-05-12
本站网友 谢利
28分钟前 发表
每页25个 我们换页之后的样子 直接用这个链接也可以的 然后这个就知道怎么写了
本站网友 郑万铁路
25分钟前 发表
"html.parser") # 获取评分集合 all_rating_nums = soup.findAll("span"
本站网友 念慈庵
22分钟前 发表
attrs={"class"
本站网友 从明天起做一个幸福的人
7分钟前 发表
"hd"}) for title in all_titles
本站网友 万达华府二手房
21分钟前 发表
获取响应 respe = requests.get("/") # 这是一个用于测试的网络链接 # . 打印响应体 print(respe) # 打印响应码 print(respe.status_code) print(decode())运行结果 爬虫练习 只要是响应码是可以的
本站网友 激光手术治疗近视眼
27分钟前 发表
分享自作者个人站点/博客
本站网友 干脆面君
25分钟前 发表
all_links = title.findAll("span"
本站网友 阻力位
9分钟前 发表
表示网页发现了
本站网友 天津合租房
30分钟前 发表
attrs={"class"
本站网友 安利护肤品
12分钟前 发表
print(link.string.split("/")[0])运行结果 分页操纵获取全部 观察这个分页情况
本站网友 冻疮
27分钟前 发表
like Gecko) Chrome/110.0.0.0 Safari/57.6 Edg/110.0.1587.69" } for i in range(0
本站网友 减小肚子
8分钟前 发表
比如我现在想要获取这个评分
本站网友 三七花的功效与作用
28分钟前 发表
获取作品姓名代码首先是观察作品名字的盒子信息
本站网友 中粮御岭湾
1分钟前 发表
"rating_num"}) for rating_num in all_rating_nums