IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 爬虫实战--用xpath技术爬取猫眼电影的信息 -> 正文阅读

[网络协议]爬虫实战--用xpath技术爬取猫眼电影的信息

爬虫实战–用xpath技术爬取猫眼电影的信息


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、步骤

(1)导入requests库和解析库
(2)定义发送请求函数
(3)定义解析数据函数
(4)定义保存数据函数
(5)定义主函数调用以上所有函数完成任务
(6)调用主函数执行程序

二、模块化代码

1.打结构

定义各个模块名进行方法实现的填写

#模块化分析  获取源码
def getHtml():
pass

#解析数据
def  i_xpath(htmlList):
pass

#保存信息
def saveCsv(infos):
pass

#主函数
def main():

调用
if __name__ == '__main__':
    main()

2.使用解析xpath

**先确定网址,**只要写问号之前的就行了
在这里插入图片描述
调用解析工具
ctrl+shift+x
在这里插入图片描述

该处使用的url网络请求的数据。


总代码展示

#导入相应的库
import requests
import  csv
from lxml import  etree

#模块化分析  获取源码
def getHtml():
    #定义列表存储数据
    htmlList=[]
    url="https://www.maoyan.com/board/4?"
    headers={
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36",
        "Cookie":"__mta=150305673.1639141940631.1639142023606.1639276231473.6; uuid_n_v=v1; uuid=CCF7E53059BA11ECA89A6133DE3B9B2AE3587645357A4194974E491487C4EF49; _lxsdk_cuid=17da4791cd2c8-02be152f58b7bf-978153c-144000-17da4791cd2a1; _lxsdk=CCF7E53059BA11ECA89A6133DE3B9B2AE3587645357A4194974E491487C4EF49; _csrf=ae9be839c78ec78b8d2beb3573ccbc41ea677217e06d0feaf0dd8dabcfea2439; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1639141940,1639141951,1639276224; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; __mta=150305673.1639141940631.1639141951466.1639276224556.3; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1639276231; _lxsdk_s=17dac7a1fa5-627-a10-e8e%7C%7C5"
    }
    #获取响应对象
    html_text=requests.get(url=url,headers=headers).content.decode("utf-8")
    # print(html_text)
    htmlList.append(html_text)
    return  htmlList
#建立列表存储爬取的信息,
movieInfos=[]
#解析数据
def  i_xpath(htmlList):
    for i in htmlList:
        #解析出电影图片、名称、类型、主演、上映时间、评分、
        source=etree.HTML(i)
        #先抓大后抓小,锁定区间
        movieList=source.xpath("//dd")
        for movie in movieList:
            movie_name=movie.xpath('.//p[@class="name"]/a/text()')[0]
            movie_picture=movie.xpath('.//img[@class="board-img"]/@data-src')[0]
            movie_address=movie.xpath('.//div[@class="movie-item-info"]/p["title"]/text()')[0].replace("\n","").replace(" ","")
            movie_time=movie.xpath('.//div[@class="movie-item-info"]/p[3]/text()')[0]
            score1=movie.xpath('.//div/p[@class="score"]/i[1]/text()')[0]
            score2=movie.xpath('.//div/p[@class="score"]/i[2]/text()')[0]
            movie_score=score1+score2
            movieInfos.append([movie_name,movie_address,movie_picture,movie_time,movie_score])

        print("--------源码解析完成!----------")
        print("总爬取{}条!".format(len(movieInfos)))
#保存信息
def saveCsv(infos):
  with open("猫眼.csv","w",encoding="utf-8",newline="") as f:
      writer=csv.writer(f)
      #定义csv的表头字段名
      headers_Csv=["电影名称","主演","图片地址","上映时间","得分",]
      writer.writerow(headers_Csv)
      for info in infos:
          writer.writerow(info)
      print("------------文件写入完成!-----------")
def main():
    movie_Url=getHtml()
    i_xpath(movie_Url)
    saveCsv(movieInfos)

if __name__ == '__main__':
    main()

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 13:13:40  更:2021-12-13 13:15:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:34:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码