python爬虫代码运行不报错,但是没有数据显示是哪里出了问题

import requests
import csv
from bs4 import BeautifulSoup

data_list=[]

page_number=1

while page_number<4:
# 设置要请求的网页链接
url='https://wp.forchange.cn/resources/page/'+str(page_number)
# 请求网页
res=requests.get(url)

# 解析请求到的网页内容
bs=BeautifulSoup(res.text,'html.parser')
# 搜索网页中所有包含书籍名和书籍链接的 Tag
tag_list=bs.find_all('a',class_="post_title")

# 使用 for 循环遍历搜索结果
for tag in tag_list:
    # 创建字典,用以存储书籍信息
    info={}
    # 提取书籍名
    info['书名']=tag.text
    # 提取书籍链接
    book_url=tag['href']
    # 通过书籍链接请求书籍详情页
    res_url=requests.get(book_url)

    # 解析书籍详情页的内容
    book_bs=BeautifulSoup(res_url.text,'html.parser')
    # 搜索网页中所有包含书籍各项信息的 Tag
    tag_lists=book_bs.find('div',class_="rest-attrs").find_all('dl')

    # 使用 for 循环遍历搜索结果
    for tag_1 in tag_lists:
        # 提取信息的提示项
        key=tag_1.find('dt').text[:-2]
        # 提取信息的内容
        value=tag_1.find('dd').text
        # 将信息添加到字典中
        info[key]=value

    # 存储每本书籍的信息
    print(info)
    data_list.append(info)

# 页码 page_number 自增
page_number+=1

with open ('books.csv','w',newline='')as f:
# 将文件对象转换成 DictWriter 对象
writer=csv.DictWriter(f,fieldnames=['书名','作者','出版社','ISBN','页数','出版年','定价'
])
# 写入表头与数据
writer.writeheader()
writer.writerows(data_list)

你使用元素定位的时候取错了,取不到数据所以为空,还有就是存入csv的时候编码要使用utf8,不然会报错

import csv
import requests
from bs4 import BeautifulSoup
data_list=[]
page_number=1
while page_number<2:
    url='https://wp.forchange.cn/resources/page/'+str(page_number)
    res=requests.get(url)
    # 解析请求到的网页内容
    bs = BeautifulSoup(res.text, 'html.parser')
    # 搜索网页中所有包含书籍名和书籍链接的 Tag
    tag_list = bs.find_all('a',class_="post-title")

    print(tag_list)
    for tag in tag_list:
        # 创建字典,用以存储书籍信息
        info = {}
        # 提取书籍名
        info['书名'] = tag.text
        # 提取书籍链接
        book_url = tag['href']
        # 通过书籍链接请求书籍详情页
        res_url = requests.get(book_url)

        # 解析书籍详情页的内容
        book_bs = BeautifulSoup(res_url.text, 'html.parser')
        # 搜索网页中所有包含书籍各项信息的 Tag
        tag_lists = book_bs.find('div', class_="res-attrs").find_all('dl')
        for tag_1 in tag_lists:
            # 提取信息的提示项
            key = tag_1.find('dt').text[:-2]
            # 提取信息的内容
            value = tag_1.find('dd').text
            # 将信息添加到字典中
            info[key] = value

        # 存储每本书籍的信息
        print(info)
        data_list.append(info)

    page_number += 1
with open ('books.csv','w',newline='',encoding='utf-8')as f:
    # 将文件对象转换成 DictWriter 对象
    writer=csv.DictWriter(f,fieldnames=['书名','作者','出版社','ISBN','页数','出版年','定价'
    ])
    # 写入表头与数据
    writer.writeheader()
    writer.writerows(data_list)