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)
相关推荐
m0_591364732 分钟前
Go语言怎么做链路追踪_Go语言分布式链路追踪教程【精选】
jvm·数据库·python
m0_463672204 分钟前
HTML函数工具是否支持雷蛇等游戏外设_RGB同步汇总【汇总】
jvm·数据库·python
谙弆悕博士4 分钟前
【附C源码】二叉搜索树的C语言实现
c语言·开发语言·数据结构·算法·二叉树·项目实战·数据结构与算法
C+++Python6 分钟前
C++ 泛型编程 极简示例代码
开发语言·c++
zkkkkkkkkkkkkk9 分钟前
python使用celery实现异步任务
redis·python·rabbitmq·rocketmq
Rust研习社13 分钟前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust
宵时待雨17 分钟前
回溯算法专题2:二叉树中的深搜
开发语言·数据结构·c++·笔记·算法·深度优先
jiayong2322 分钟前
第 43 课:任务详情抽屉里的批量处理闭环与删除联动
java·开发语言·前端
likerhood23 分钟前
Java 访问修饰符:public、protected、private讲解
java·开发语言·javascript
iAm_Ike24 分钟前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python