当前位置: 首页 > wzjs >正文

专业的网站建设费用百度电话客服24小时人工服务热线

专业的网站建设费用,百度电话客服24小时人工服务热线,做一个公司网站多少钱,win10建设网站目录爬取豆瓣电影2022年Top250部经典电影 1.项目概述 从https://movie.douban/top250爬取电影的标题、评分、主题。我在之前使用普通的爬虫实现了类似的功能,可以对比来进行学习(Python爬虫——爬虫基础模块和类库(附实践项目)&#…

爬取豆瓣电影2022年Top250部经典电影

1.项目概述

        从https://movie.douban/top250爬取电影的标题、评分、主题。我在之前使用普通的爬虫实现了类似的功能,可以对比来进行学习(Python爬虫——爬虫基础模块和类库(附实践项目))

2.实现步骤

1.将response对象包装成一个Selector对象

sel = Selector(response)

2.在网页(第几页无所谓)打开‘检查’,找到我们需要爬取的区域,复制selector,用于css解析。(对应生成list_items)

#content > div > div.article > ol > li# 获取后需要把li后面的nth-child()去掉,这样我们就获取到所有包含在li中的信息。上面是去掉nth-child后的代码

3.在爬虫中将指定爬取的区域写成css选择器,并返回文本信息

list_item.css('span.title::text').extract_first()#意义为选择在span标签下为title属性的text类型数据
#由于css选择器返回的对象仍然为css选择器对象,需要使用extract_first使其以字符串类型返回
#选择使用extract_first是为了只获取电影的中文标题
#其他的css选择器与之类似

4.将爬虫爬取到的数据组装成为Item对象——>在items.py中编写MovieItem类,并在爬虫中实例化。将实例化的对象以生成器的形式返回。

5.分析页面的导航栏,可知每个页面的起始电影等于(页面-1)*25。使用for循环就可以爬取后续的页面

for page in range(10):yield Request(url=f'https://movie.douban.com/top250?start={page * 25}')# 生成器返回的对象为Request对象

6.运行爬虫,并将数据写入csv文件中

scrapy crawl douban -o douban.csv

7.将数据写入execl文件:在管道pipelines中写初始化函数(__init__)创建的表 和关闭爬虫时保存execl文件的操作 (关闭爬虫是自动的过程,不要过于纠结,写保存的文件的代码就行了) 

3.代码实现(不包含创建项目的过程)

爬虫部分(douban.py)

import scrapy
from scrapy import Selector, Request
from scrapy.http import HtmlResponsefrom spider2107.items import MovieItemclass DoubanSpider(scrapy.Spider):name = "douban"allowed_domains = ["movie.douban.com"]def start_requests(self):for page in range(10):yield Request(url=f'https://movie.douban.com/top250?start={page * 25}')def parse(self, response: HtmlResponse, **kwargs):sel = Selector(response)list_items = sel.css('#content > div > div.article > ol > li')for list_item in list_items:movie_item = MovieItem()movie_item['title'] = list_item.css('span.title::text').extract_first()movie_item['rank'] = list_item.css('span.rating_num::text').extract_first()movie_item['subject'] = list_item.css('span.inq::text').extract_first()yield movie_item

item对象(items.py)

import scrapyclass MovieItem(scrapy.Item):title = scrapy.Field()rank = scrapy.Field()subject = scrapy.Field()

设置请求头(settings.py)找到对应的位置取消注释并修改即可

USER_AGENT = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 ""Safari/537.36 Edg/117.0.2045.47")

导入写入execl表时需要的库

pip install openpyxl

管道文件(pipelines.py)

import openpyxlclass Spider2107Pipeline:def __init__(self):self.wb = openpyxl.Workbook()self.ws = self.wb.activeself.ws.title = "top250"self.ws.append(('标题', '评分', '主题'))def close_spider(self, spider):self.wb.save('电影数据.xlsx')def process_item(self, item, spider):title = item.get('title', '')rank = item.get('rank', '')subject = item.get('subject', '')self.ws.append((title, rank, subject))return item

配置管道(settings.py)找到对应的位置取消注释并修改即可

ITEM_PIPELINES = {"spider2107.pipelines.Spider2107Pipeline": 300,
}

4.结果展示

挖取数据

 

 放入execl

http://www.dtcms.com/wzjs/358156.html

相关文章:

  • 学做效果图的网站网络营销平台名词解释
  • 网站创建服务公司关键词推广价格
  • 做门窗投标网站东莞网络公司排行榜
  • 建筑工程施工招聘信息seo搜索引擎优化师
  • 多语言网站建设方案免费公司网址怎么注册
  • 建设银行ETC的网站是哪个免费发布推广的平台有哪些
  • 网站优化标题怎么做怎么在百度发布自己的文章
  • 桐乡做网站的公司百度关键词排名用什么软件
  • 山西网站建设软件系统优化大师下载
  • 始兴县建设局网站论文关键词
  • 好的网站收入优化怎么做
  • 建设部咨询资质网站环球网最新消息疫情
  • 山东网站开发公司搜狗收录提交入口网址
  • 如何做电影网站赚钱推广赚钱项目
  • 代理分佣后台网站开发seo怎么学
  • 日本做电子贺卡网站seo快速优化软件网站
  • 品牌网站建设报价单百度小说风云榜排行榜官网
  • 对于学校网站建设的建议百度搜索推广是什么
  • php如何做音乐网站成都百度seo推广
  • 做网站公司怎么赚钱吗百度学术论文查重官网入口
  • 公司做竞拍网站的收入怎么报税企业员工培训内容及计划
  • 模仿图库网站开发aso关键词优化计划
  • 做网站用什么字体比较好网页制作在线生成
  • 网页上做ppt的网站好怎么让百度收录网站
  • 创建网站需要多少钱首码项目推广平台
  • 关于建设 网站的请示说说seo论坛
  • 汉中市住建局建设厅网站官网网站运营包括哪些内容
  • 网站后台怎么打开seo云优化外包
  • 15年做那个网站能致富网站建设技术解决方案
  • 邢台做企业网站长春seo