Xpath爬取豆瓣top250电影

使用xpath,正则表达式爬取豆瓣top250电影信息 今天使用xpath爬取豆瓣电影top250的电影信息,使用了xpath,和正则表达式,最近学习爬虫感觉xpath是相对较简单一点的(相对于正则表达式),xpath有时候提取的数据不是自己全部需要的,所以配合着正则表达式一起用效果较好。 今天爬取的网站是豆瓣电影top250(https://movie.douban.com/top250?start=0&filter=),进行翻页之后发现它的url变化情况 它们在翻页时候,start一次变化25,我们可以使用range(0,226,25)获取到10 阅读详情

python爬取信息的方式有很多,今天就教大家如何使用xpath爬取豆瓣top250的电影名称、评分、链接、引言,并存储到csv中

python版本:3.7.4

相关模块:lxml模块;requests模块;以及python自带模块csv

环境搭建:安装python并添加到环境变量,pip安装需要的相关模块

代码如下:

import requests
from lxml import etree
import csv

#豆瓣top250网址
doubanUrl='https://movie.douban.com/top250?start={}&filter='

#获取网页源码
def getSource(url):
    headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'
    }
    res=requests.get(url,headers=headers)
    res.encoding='utf-8'
    return res.text
    
# 获取电影信息
def getEveryItem(source):
    html_element=etree.HTML(source)
    movieItemList=html_element.xpath('//div[@class="info"]')
    
    #定义一个空列表
    movieList=[]
    
    for eachMovie in movieItemList:
        
        #创建一个字典,向列表中存储数据[{电影一},{电影二}...]
        movieDict={}
        
        title=eachMovie.xpath('div[@class="hd"]/a/span[@class="title"]/text()') #电影名
        otherTitle=eachMovie.xpath('div[@class="hd"]/a/span[@class="other"]/text()') #其他名称
        link=eachMovie.xpath('div[@class="hd"]/a/@href')[0] #链接
        star=eachMovie.xpath('div[@class="bd"]/div[@class="star"]/span[@class="rating_num"]/text()')[0] #评分
        quote=eachMovie.xpath('div[@class="bd"]/p[@class="quote"]/span/text()') #引言
        
        #条件语句:如果有引言则写引言,若没有则不写
        if quote:
            quote=quote[0]
        else:
            quote=''
             
        #保存数据
        movieDict['title']=''.join(title+otherTitle)
        movieDict['url']=link 
        movieDict['star']=star
        movieDict['quote']=quote
        
        movieList.append(movieDict)
        print(movieList)
    return  movieList

#保存数据
def writeData(movieList):
    with open('douban_top250.csv','w',encoding='utf-8') as f:
        writer=csv.DictWriter(f,fieldnames=['title','star','quote','url'])
        writer.writeheader() #写入表头
        for each in movieList:
            writer.writerow(each)
            
if __name__ == "__main__":
    movieList=[]  
    
    #一共10页,循环10次
    for i in range(10):
        
        #调用函数
        pageLink=doubanUrl.format(i*25)        
        source=getSource(pageLink)  
        movieList+=getEveryItem(source)
        
    writeData(movieList)

 

python使用xpath爬取豆瓣电影top 250信息 根据爬取的框架: -导入用到的模块 -对要爬取的url,伪装ua,编码发送请求,获得响应 -将响应的信息,解析后输出,保存到本地,(进阶为分析数据,建模、预测) #导入用的模块 from lxml import etree import requests 在写代码前,先去观察分析爬取的豆瓣电影的界面信息结构,250条记录,一共10页,每页25条,包括电影名称、评分、评论、电影连接、影片描述; 先... 阅读详情

相关推荐

使用Python的requests库和xpath爬取豆瓣top250每部电影的详细信息

使用Python的requests库和xpath爬取豆瓣top250每部电影的详细信息,亲测可用

DIIIIIIIO的博客 2388

利用XPath爬取豆瓣电影Top250排行信息

利用XPath爬取豆瓣电影排行信息(电影排名,电影名称、链接、演员导演、电影经典语录)

Aim123456789的博客 4431

使用requests和xpath爬取豆瓣top250电影

1 网页分析 一页有25部电影,第一页start= ,第二页是从start=25开始,分析出start的作用,只需要10个循环,便可访问到250部电影的所有页面。 通过分析网页源码,我们可以看到,所有电影都归到[ol]标签下。 每一个[li]下包含一部电影。以下图为例,分析出对应关系后,便可以针对性的提取出想要的信息。 2 代码展示 import requests from lxml impo...

地瓜的博客 1775

利用xpath解析器爬取豆瓣电影top250

首先声明需要用的库,当然我还用到了os库,将工作路径修改到了我指定的路径。os.chdir(r"C:\Users…") from lxml import etree import requests import time import json 豆瓣top250总共有10页,每页25部电影,每页的url都是有规律的,第一页的url是“https://movie.douban.com/top25...

capsule的博客 1万+

爬虫入门经典(四) | 如何爬取豆瓣电影Top250

大家好,我是不温卜火,昵称来源于成语—不温不火,本意是希望自己性情温和。

不温卜火 5万+

实战:豆瓣电影 Top250 爬取秘籍 ——XPath 和 URL 不动,轻松拿下 10 页数据的偷懒技巧

本文分享了用Python自动化爬取豆瓣电影Top250的实战技巧。核心方法是通过固定XPath路径(//div[@class="item"])和格式化URL参数(start=0,25...225),实现10页数据自动爬取。数据存储采用MySQL+Navicat方案,使用executemany()批量插入250条记录。文章重点解析了URL分页规律、XPath定位技巧,并总结了反爬应对、数据去重等实战经验。

JYB0918的博客 2295

Python网页爬虫爬取豆瓣Top250电影数据——Xpath数据解析

本次程序只爬取了豆瓣top250电影的展示页面的数据,没有爬取电影详情页的数据。在前面我们已经获取了每一部电影详情页的链接links,如果想要爬取电影的详情页,可以通过for循环遍历列表links,对每一个详情页发起请求,从而获取电影详情页的数据并进行解析。

qq_44777595的博客 6万+

计量经济学——事件研究法/事件分析法

计量经济学——事件研究法/事件分析法

weixin_46189461的博客 6752

豆瓣电影top250信息爬取——xpath解析(适合初学者)

推测第一页时start=0,实验过后确实如此,所以翻页功能可以利用for循环实现,利用range以25为间隔使start后的值依次等于0,25,50……all_data.to_csv('D:/豆瓣电影top250信息.csv',mode='a',encoding='utf-8-sig')all_data=pd.DataFrame({'电影名称':name_list,'详情页网址':url_list})快速解决表头重复问题:数据——删除重复值——全选(不要勾选数据包含标题)(2)获取电影详情页链接。

2302_80061155的博客 2568

嵌入式开发必看:STM32 DMA双缓冲配置全攻略(含CubeMX教程)

本文详细解析了STM32 DMA双缓冲机制的原理与优势,并提供了基于CubeMX的完整配置教程。通过硬件自动切换两个缓冲区,实现DMA传输与CPU处理的真正并行,有效降低中断频率,提升高速数据采集、音频流处理等场景下的系统效率和实时性。

weixin_29212429的博客 173

Nettrace 源码分析

文章介绍:本文将围绕腾讯开源项目nettrace工具中数据采集,数据处理,数据分析三个模块深入源码分析其实现细节

abobob的博客 989

xpath_爬取豆瓣电影TOP250

爬取豆瓣电影TOP250 爬取豆瓣电影Top250的电影信息:电影名称,电影评分,评价人数,电影短评 源代码: import csv import lxml.etree as etree import requests def get_content(url): try: user_agent = 'Mozilla/5.0 (X11; Linux x86_64;...

King15229085063的博客 1955

Materials Studio多层聚合物建模全流程:从Build Layers到LAMMPS data文件导出避坑指南

本文详细解析了使用Materials Studio构建多层聚合物模型并导出为LAMMPS data文件的全流程。重点剖析了Build Layers工具的核心逻辑、真空层处理技巧,并提供了解决导出过程中Z轴坐标偏移问题的实战方案,特别是如何利用msi2lmp工具的-shift参数进行精准校正,确保模型在LAMMPS中模拟的稳定性和准确性。

hhh00的博客 913

Python实战---使用requests库和Xpath语法爬取豆瓣电影Top250

使用requests库和Xpath语法爬取豆瓣电影Top250 即爬取下面的页面: 下面为实现代码: ''' @Description: 爬取豆瓣电影 Top 250 @Author: sikaozhifu @Date: 2020-06-07 15:16:23 @LastEditTime: 2020-06-07 17:04:13 @LastEditors: Please set LastEditors ''' from lxml import etree import requests headers =

、思考致富的博客 830

XDMA 驱动安装与性能测试全流程解析

本文详细解析了XDMA驱动的完整安装与性能测试流程。从环境准备、源码获取、编译安装到驱动加载与设备验证,逐步指导用户打通FPGA加速卡与主机间的高速数据通道。重点介绍了如何通过官方测试脚本进行功能验证与带宽性能测试,帮助用户评估XDMA驱动的实际传输效能,为AI推理、高频交易等低延迟高带宽应用奠定基础。

weixin_29216049的博客 525

绕线机的制作与研究

本文详细阐述了绕线机的制作过程,涵盖从设计规划到实际制作的各个环节。通过对绕线机工作原理的深入分析,确定了关键技术参数,并依此完成机械结构与控制系统的设计。在制作阶段,运用多种加工工艺完成零件制造与设备组装。经测试,自制绕线机性能达到预期,能够满足特定线圈绕制需求,为相关领域的生产实践与技术研究提供了参考。

道亦无名 1437

python学习-利用xpath爬取豆瓣top250电影保存至本地excel

库 requests库 lxml csv

bimbamboun的博客 2196

CDD数据库文件制作(二)——服务配置(0x27)

主要根据诊断调查表,针对0x27服务在CDD中的每一步配置给出详细介绍 1.会话切换配置 1.1.根据诊断调查表进行信息提取 1.2.子功能添加 1.2.1.Level1安全等级1创建 1.2.2.Level3安全等级3创建 1.2.3.安全等级名字查看与修改 1.3.会话切换信息提取(应用程序下) 1.4.会话转换配置(应用程序下) 1.5.会话切换信息提取(引导程序下) 1.6.会话转换配置(引导程序下) 2.安全等级配置信息提取 2.1.安全访问配置(level1) 2.2.安全访问配置(level2

LOVE135149的博客 2930

如何用Xpath爬取豆瓣Top250电影相关信息

match1 = re.search(r'导演:\s*([^:\n]+)', string)match3 = re.search(r'类型:\s*([^:\n]+)', string)match5 = re.search(r'年份:\s*([^:\n]+)', string)match1 = re.search(r'导演:\s*([^:\n]+)', string)match3 = re.search(r'类型:\s*([^:\n]+)', string)'电影名称': titles_list,

weixin_54141179的博客 1033

Open3D 计算点云配准的旋转和平移误差

通过计算旋转误差和平移误差来量化配准结果与真实变换之间的偏差。

点云侠的博客 251

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

爬虫]利用xpath爬取豆瓣电影top250(转)

今天学习了一下xpath 感觉功能非常的强大,但是如果不太懂前端的小伙伴们可能比较吃力,建议看一下html的一些语法结构,代码如下: #!/usr/bin/env python import re import requests import lxml.html url = 'https://movie.douban.com/top250?start={}&filter=' clas...

weixin_42575593的博客 1615

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

python requests+lxml+xpath 爬取豆瓣top250电影图片

1.爬取豆瓣电影网页源码。 import requests url = 'https://movie.douban.com/top250?start='+str(start)+'&filter=' data = requests.get(url) # print(data.text) 2.分析网页结构,爬取图片src, https://movie.douban.com/top2...

web_wq 918

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

[Python/爬虫]利用xpath爬取豆瓣电影top250

今天学习了一下xpath 感觉功能非常的强大,但是如果不太懂前端的小伙伴们可能比较吃力,建议看一下html的一些语法结构,代码如下:#!/usr/bin/env python import re import requests import lxml.html url = 'https://movie.douban.com/top250?start={}&filter=' class Downlo

DevOps 4447

Python爬虫入门案例(一)豆瓣电影Top250爬取(request+XPath+csv)

豆瓣电影top250是学习爬虫很好的入门案例。学习爬虫,首先我们应该清楚爬虫的流程。 一、流程分析 1.访问网页, 获取网页回应(response) 2.分析源码结构,通过xpath或其他解析方法获得所需的相应信息内容。 3.通过csv方法将获取的内容存入文件中(新手可以先存入txt文件,这种方法比较简单) 现在我们就开始爬取豆瓣电影。 二、代码实现与思路讲解 设置headers,设置编码解析格...

自律 4964

以爬取豆瓣Top250的电影为例,说说xpath的使用

xpath使用

Howzit 782

Scrapy中用xpath/css爬取豆瓣电影Top250:解决403HTTP status code is not handled or not allowed

scrapy爬取豆瓣电影top25,采用了selector的xpath和css

明日韭菜 1万+
上一篇: 模拟登录之图片验证
下一篇: 爬虫入门(五)——BeautifulSoup4
北木x
博客等级 码龄7年 6粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值