用Python帮女神爬取电影后,我终于不用做舔狗了

本文介绍了如何使用Python爬虫技术获取电影Top250的电影名称、评分和简介,并将其保存到CSV文件。首先确定数据来源,然后发起HTTP请求获取网页源码,接着解析HTML提取数据,最后将数据写入文件。通过这个教程,你可以学习到网络请求、HTML解析及数据保存的基本步骤。
摘要由CSDN通过智能技术生成

前言

事情的起因是这样的,我本来在家里刷着朋友圈,突然看到女神发了个朋友圈,原来她被隔离在家,无聊又没有电影看,所以我果断的使用我的python技术,给女神发了过去,女神感动坏了,说在隔离期间只有我关心她,说什么也要隔离完后请我吃饭、逛街。 

我一想,都能出去吃饭逛街了,这不妥妥的离幸福不远了吗!

好了,该给大家安利一波了,如何让女神对我转变看法的方法也该教给大家了,希望大家也都顺顺利利脱单!

如何用python爬取电影!

 目录

​ 1,数据获取方式

​ 2,爬虫是什么

​ 3,爬虫实现思路

​ 4,代码实战

一.数据获取方式

​ 我们一般去获取数据都是通过浏览器输入网址(B/S架构),在按下回车键的时候,实际上浏览器通过网络做了大量的的操作。

​ 1,通过网络传递发起请求request

​ 2,服务根据请求调用对应处理逻辑

​ 3,查询数据库找到对应数据

​ 4,将数据填充到模板并返回(response)。

二.爬虫是什么

爬虫本质也是一种程序,它会根据指定的条件去互联网上收集数据。

​ 爬虫互获取数据的方式就是通过代码实现浏览器访问服务器的过程,所以我们有必要去理解B/S架构下的数据访问流程。

三.爬虫实现思路

​ 1,确定数据资源地址

​ 2,对该数据地址发起访问请求

​ 3,拿到数据

​ 4,对数据根据需求进行处理

四.代码实战

​ 要求:爬取电影top250的电影名字,评分,引言,详情页并保存

#导入类库

import requests #网络请求库

import cvs #文件格式库

from lxml import etree #数据转换

 1,确定数据地址

​ 注意:在获取这种分页页面时候,不要只看第一页的地址。点击第二页拿到完整地址

#导入类库

import requests #网络请求库

import csv #文件格式库

from lxml import etree #数据转换

#确定数据地址 将起始页用占位符,方便后面循环爬取各个页面

2,对数据地址发起访问请求并拿到数据

​ 定义一个函数,功能就是用来获取网页源码

#接收服务器返回过来的数据

    response = requests.get(url,headers=headers)

    # 防止出现乱码

    response.encoding = 'utf-8'

#返回网页源码文本

    return response.text

3,对数据进行处理

​ 定义一个函数,用于数据解析处理

#从拿到的源码中解析出每部电影的数据

def getEveryMovie(source):

#将文本解析成html形式

    html = etree.HTML(source)

#获取标题

        title = eachMoive.xpath('div[@class="hd"]/a/span[@class="title"]/text()') # 标题

        # 获取电影的引言

        quote = eachMoive.xpath('div[@class="bd"]/p[@class="quote"]/span/text()')

#将字典加入列表

        movieList.append(movieDict)

#返回列表

    return movieList

​ 循环爬取每一页并写入本地csv文件

# 保存数据

def writeData(movieList)

#循环写入每一行

        for each in movieList:

            writer.writerow(each)

if __name__ == '__main__':

    #保存每一页的结果

    movieList = []

    # 一共有10页,循环调用爬取保存

    for i in range(10):

4,  完整代码


#导入类库

import requests #网络请求库

import csv #文件格式库

from lxml import etree #数据转换

#确定数据地址 将起始页用占位符,方便后面循环爬取各个页面

(网站地址)

# 获取网页源码的函数

def getSource(url):

    # headers请求头

    headers = {

   

因为篇幅有限,需要源码的可以私我!!!

最终结果

 

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值