iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python爬取网页数据到保存到csv
  • 113
分享到

python爬取网页数据到保存到csv

2024-04-02 19:04:59 113人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录任务需求:爬取网址:网址页面:代码实现结果:代码实现: 完整代码:总结任务需求: 爬取一个网址,将网址的数据保存到csv中。 爬取网址: https://www.iqi

任务需求:

爬取一个网址,将网址的数据保存到csv中。

爬取网址:

https://www.iqiyi.com/ranks1/1/0?vfrm=pcw_home&vfrmblk=&vfrmrst=712211_dianyingbang_rebo_title

网址页面:

代码实现结果:

代码实现:

导入包:

import requests
import parsel
import csv

 设置csv文件格式:

        设计未来数据的存储形式。

#打开文件
f = open('whxixi.csv', mode='a',encoding='utf-8',newline='')
 
#文件列名
csv_writer= csv.DictWriter(f,fieldnames=['电影名字',
    '弹幕总数',
    '新增评论',
    '电影链接',
    '电影日期',
    '电影类型',
    '电影演员',
    '电影介绍'])
 
#输入文件列名
csv_writer.writeheader()

 获取数据:

      获取网页的html,得到原始的数据( 得到的数据保存在response中)。

#选择爱奇艺热播榜的网址
url='Https://www.iqiyi.com/ranks1/1/0?vfrm=pcw_home&vfrmblk=&vfrmrst=712211_dianyingbang_rebo_title'
 
headers = {'user-agent':'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWEBKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'}
 
#获取网址内容,赋值 到response
response = requests.get(url=url, headers=headers)

加工数据:

        对得到的网页原始数据进行加工处理,即提取出有用的数据。备注,根据爬取的网页进行调整css()里面的内容,不同网站页面的结构不同,根据需要进行调整。(F12开发者模式)

#把response.text转换为selector对象 可以使用re, CSS,x-path选择器
webtext = parsel.Selector(response.text)
 
#第一步筛选数据,形成列表,可以使下次查找形成循环
list=webtext.css('.rvi__list a')
 
#再上一步的基础上,使用循环,进行提取数据
for li in list:
    title= li.css(' .rvi__con .rvi__tit1::text').get()
    bulletcomments =li.css('.rvi__con .rvi__tag__box span:nth-child(1)::text').get() #弹幕总数
    newcomments =li.css(' .rvi__con .rvi__tag__box span:nth-child(2)::text').get() #新增评论数
    href = li.css('  ::attr(href)').get().replace('//','http://')
    movie_info=li.css(' .rvi__con .rvi__type1 span::text').get().split('/')
    year = movie_info[0].strip()
    type = movie_info[1].strip()
    actor = movie_info[2].strip()
    filmIntroduction=li.css(' .rvi__con p::text').get().strip()
    dic={
        '电影名字':title,
        '弹幕总数':bulletcomments,
        '新增评论':newcomments,
        '电影链接':href,
        '电影日期':year,
        '电影类型':type,
        '电影演员':actor,
        '电影介绍':filmIntroduction
    }
    csv_writer.writerow(dic)  #将数据输入到csv文件中

 完整代码:

import requests
import parsel
import csv
f = open('whxixi.csv', mode='a',encoding='utf-8',newline='')
 
csv_writer= csv.DictWriter(f,fieldnames=['电影名字',
    '弹幕总数',
    '新增评论',
    '电影链接',
    '电影日期',
    '电影类型',
    '电影演员',
    '电影介绍'])
 
csv_writer.writeheader()
 
#选择爱奇艺热播榜的网址
url='https://www.iqiyi.com/ranks1/1/0?vfrm=pcw_home&vfrmblk=&vfrmrst=712211_dianyingbang_rebo_title'
 
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'}
 
#获取网址内容,赋值 到response
response = requests.get(url=url, headers=headers)
 
#把response.text转换为selector对象 可以使用re, css,x-path选择器
webtext = parsel.Selector(response.text)
 
#第一步筛选数据,形成列表,可以使下次查找形成循环
list=webtext.css('.rvi__list a')
 
#再上一步的基础上,使用循环,进行提取数据
for li in list:
    title= li.css(' .rvi__con .rvi__tit1::text').get()
    bulletcomments =li.css('.rvi__con .rvi__tag__box span:nth-child(1)::text').get() #弹幕总数
    newcomments =li.css(' .rvi__con .rvi__tag__box span:nth-child(2)::text').get() #新增评论数
    href = li.css('  ::attr(href)').get().replace('//','http://')
    movie_info=li.css(' .rvi__con .rvi__type1 span::text').get().split('/')
    year = movie_info[0].strip()
    type = movie_info[1].strip()
    actor = movie_info[2].strip()
    filmIntroduction=li.css(' .rvi__con p::text').get().strip()
    dic={
        '电影名字':title,
        '弹幕总数':bulletcomments,
        '新增评论':newcomments,
        '电影链接':href,
        '电影日期':year,
        '电影类型':type,
        '电影演员':actor,
        '电影介绍':filmIntroduction
    }
    csv_writer.writerow(dic)  #将数据输入到csv文件中

总结

到此这篇关于python爬取网页数据到保存到csv的文章就介绍到这了,更多相关Python爬取网页数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python爬取网页数据到保存到csv

本文链接: https://www.lsjlt.com/news/161807.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作