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

电子商务网站建设 教案网站建设公司哪个好呀

电子商务网站建设 教案,网站建设公司哪个好呀,网站建设推广有用吗,网站开发公司需要什么资质爬取豆瓣电影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/6558.html

相关文章:

  • 1)_童装网站建设目标培训课程开发
  • 东莞石龙镇疫情最新消息网站seo关键词排名推广
  • 网站建设经典范例太原关键词优化报价
  • 做网站一般图片的比例微信广点通广告平台
  • 网站模版怎样使用确认已有81人感染
  • 抖音做我女朋友的网站怎么把广告发到各大平台
  • 下载ppt模板免费的网站评论优化
  • 国外网站的分析工具有哪些seo网站优化方案
  • 响应式网站案例免费推广网站平台
  • 东莞模板建网站平台新闻发稿软文推广
  • 网站左右箭头素材整站优化系统
  • 东丽网站建设平台开发
  • 自己可以做网站推广吗东莞百度快速排名优化
  • 做外贸的网站主要有哪些内容品牌营销推广
  • 淮安做网站的有多少钱宁波seo网络推广咨询热线
  • 黄冈商城网站建设福州seo网址优化公司
  • 贵阳网站建设培训seowhy
  • 厦门的服装商城网站建设北京seo主管
  • 网站开发文档word青岛百度推广多少钱
  • 用户界面设计原则软件开发工具肇庆网站快速排名优化
  • 自己的网站怎么做下载链接淘宝培训
  • 个人网站站长腾讯会议开始收费
  • 网站做app安全吗精准营销及推广
  • react用于做PC网站附近有没有学电脑培训的
  • 华企立方网站东莞网站建设公司
  • 专业做网站哪家强网站联盟营销
  • 江苏城乡建设网站河源市企业网站seo价格
  • 长春网站制作费用百度竞价排名利弊
  • 网站开发 语音简单网页制作成品和代码
  • i岗网站建设网站seo综合诊断