xpath-csv_doban_slider

项目要求:

使用xpath批量化获取豆瓣单页数据,并使用csv保存数据

思路:

1.安装xpath所需工具包

2.引用所用到的方法

3.爬取对应网页的数据

4.使用csv保存

注意点:

1.xpath是xlml库中extree的方法

2.xpath适用于HTML格式字符串,需要将获取的数据通过.HTML()方法返回一个Python对象再使用

3.enumerate()函数返回(下标,元素)或是(下标,键名)元组,可以使用拆包

4.使用xpath爬取单页数据多个目标数据,关键点在于xpath路径的修改

5.csv格式可用表格打开,所设置第一个列表为表头

python 复制代码
import csv
import requests
from lxml import etree

url = "https://movie.douban.com/top250"
headers = {"user-agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"}
response = requests.get(url,headers=headers)
data = response.text
data_x = etree.HTML(data)
res1 = data_x.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[1]/a/span[1]/text()')
res2= data_x.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/p[1]/text()[1]')

text = [
    ['排名', '电影名称', '导演主演']
]
for i,j in enumerate(res1):
    text_=text.append([i+1,j,res2[i]])
with open('电影单页_xpath.csv', 'w', encoding='utf-8-sig', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(text)
相关推荐
海的透彻19 分钟前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat32 分钟前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
北京中科新远科技37 分钟前
高速交换机端口预算怎么做?下行、上联、拆分和冗余计算框架
开发语言·php
zh路西法44 分钟前
【PACE】面向永磁同步电机PMSM 执行器的参数辨识与能耗感知强化学习 Sim-to-Real
python·cma-es·pmsm·sim-to-real·issac·pace
xiaoye-duck1 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
后台模板学习1 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
2601_967987372 小时前
如何运行 Python 代码
python·最佳实践·脚本文件·代码运行·交互式环境
WiKiLeaks_successor2 小时前
重构Time库的抽象设计
python·重构
AI源码2 小时前
基于 Python 的短视频用户行为分析系统
开发语言·python
第九序言T2 小时前
数据分析岗 Pandas 面试题 20 道(上):概念与读代码
python·数据分析·pandas·数据处理