python爬虫(十五)selenium爬取猫眼和京东

本文介绍了如何利用Selenium爬取猫眼电影Top100的电影信息,包括排名、电影名、主演、上映时间和评分,并详细解析了页面结构。同时,展示了爬取京东图书的流程,包括输入关键词、滚动加载数据、提取每本书的价格、书名、评价人数和店铺名,并处理懒加载和翻页问题。最后,将数据保存到CSV文件中。
摘要由CSDN通过智能技术生成

Selenium案例练习

1.爬取猫眼电影数据

页面需求

使用selenium爬取猫眼Top100中,电影每部电影的排名,电影名,主演,上映时间及评分。
在这里插入图片描述

页面分析

通过分析页面结构,选择合适的接入点。selenium直接进行页面检查就可以,不用再分析代码是否在源码中出现。
光标位于第一个电影处,点击右键,检查,定位到第一个电影的信息,我们可以把标签折叠,可以看到dd标签里存放了一个电影的所有数据,所有的dd标签里存放了本页面所有的电影,而dd标签都存放于dl标签内。那我们只需要找到dl标签,再从里面找到dd标签就可以获取到电影数据。
在这里插入图片描述
滑动网页,可以看到第一页共有十个电影,在代码中刚好由10个dd标签。在这里插入图片描述
总结,通过分析,一个dd标签对应一部影片,所有的dd标签存放于dl标签中,我们需要先找到class="board-wrapper"的dl标签,然后在dl标签下面找到dd标签,最后在dd标签中解析数据。

举例:函数有多个返回值,只取其中需要的返回值的方法
import csv
def test():
    return [{
   't': 2, 'm': '3'}],['t','m']
a, b = test()

a, _ = test()
_, b = test()
with open('a.c.csv', 'a',encoding='utf-8',newline="") as f:
    w = csv.DictWriter(f,b)
    w.writeheader()
    w.writerows(a)
print(a)  [{
   't': 2, 'm': '3'}]
print(b)  ['t', 'm']

代码实现

from selenium import webdriver
import csv
import time

driver = webdriver.Edge()
driver.get('https://maoyan.com/board/4?offset=0')
time.sleep(1)
# 找到dl标签
# driver.find_element_by_xpath('//*[@id="app"]/div/div/div[1]/dl')
# 找到dl标签下所有的dd标签,因为获取的不是一个,所有用elements
# 解析一页的函数
def get_data():
    dd_tags = driver.find_elements_by_xpath(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值