目录

第一步 导包

第二步 发起请求,设置编码格式

第三步 调用etree和xpath方法转换数据

第四步 用for循环和zip函数把数据写入文件


数据准备:

1、安装好request库,lxml库

2、URL地址:

https://movie.douban.com/top250

3、数据要存放的文件夹位置(注意每个人放的不一样,下面是我放的位置)

D:\code\movie4.txt

步骤及具体代码如下:

第一步 导包

# 导包
import requests
from lxml import etree

第二步 发起请求,设置编码格式

设置编码格式的目的是把r.text的内容变为汉字展示。 到这一步可以执行看一下,确认r.text内容里没有乱码。 如果出现乱码,就需要修改成其他编码格式。

# 发起get请求
url='https://movie.douban.com/top250'
r=requests.get(url,headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'})
r.encoding='utf-8'
print(r.text)

第三步 调用etree和xpath方法转换数据

到这一步执行看一下,转换的数据是否为汉字

# 用etree方法转换数据
xp=etree.HTML(r.text)
remark_num=xp.xpath('//ol/li/div/div/div/div/span/text()')    # 参加评论的人数
remark_content=xp.xpath('//ol/li/div/div/div/p/span/text()')  # 评论内容
movie_name=xp.xpath('//ol/li/div/div/div/a/span/text()')      # 电影名字

print(remark_num)
print(remark_content)
print(movie_name)

第四步 用for循环和zip函数把数据写入文件

这里【\n】表示换行符,zip( )函数可以把多个可迭代对象打包成元组

for r1,r2,r3 in zip(remark_num,movie_name,remark_content):
        with open(f'D:/code/movie4.txt','a',encoding='utf-8') as f:
                f.write(r1)
                f.write('\n')
                f.write(r2)
                f.write('\n')
                f.write(r3)

最后看一下代码执行的效果

参考文章:【小白必看】Python爬虫实战之批量下载女神图片并保存到本地_批量爬图并下载-CSDN博客

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐