爬虫项目#4567电影网scrapy数据爬取moviePro/持久化储存handReqPro

爬虫项目#4567电影网scrapy数据爬取moviePro/持久化储存handReqPro仅用与备忘录

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

仅用与备忘录
____movie.py
import scrapy
from moviePro.items import MovieproItem

class MovieSpider(scrapy.Spider):
name = ‘movie’
#allowed_domains = [‘www.xxx.com’]
start_urls = [‘http://www.4567kan.com/frim/index1.html’]
url=‘http://www.4567kan.com/frim/index1-%d.html’
pageNum=2
def parse(self, response):
li_list = response.xpath(’/html/body/div[1]/div/div/div/div[2]/ul/li’)
for li in li_list:
title=li.xpath(’./div/a/@title’).extract_first()
detail_url=‘http://www.4567kan.com’+li.xpath(’./div/a/@href’).extract_first()
item=MovieproItem()
item[‘title’]=title
#对详情页url发起请求,callback的self.parse用于反馈首页
#meta作用为可以将meta字典传递给callback
yield scrapy.Request(url=detail_url,callback=self.parse_detail,meta={‘item’:item})
#拿到前四页页面源码数据
if self.pageNum<5:
new_url=format(self.url%self.pageNum)
self.pageNum+=1
yield scrapy.Request(url=new_url,callback=self.parse)
#parse_detail用于解析详情页的数据
def parse_detail(self,response):
#接受传递过来的meta,实现传递参数
item=response.meta[‘item’]
desc=response.xpath(’/html/body/div[1]/div/div/div/div[2]/p[5]/span[2]’).extract_first()
item[‘desc’]=desc
yield item
____________________item.py
import scrapy

class MovieproItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
title=scrapy.Field()
desc=scrapy.Field()
________________________pipeline.py

class MovieproPipeline:
def process_item(self, item, spider):
print(item)
return item
_______________________setting.py
ITEM_PIPELINES = {

‘moviePro.pipelines.MovieproPipeline’: 300,
}
BOT_NAME = ‘moviePro’

SPIDER_MODULES = [‘moviePro.spiders’]
NEWSPIDER_MODULE = ‘moviePro.spiders’

USER_AGENT = ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4343.0 Safari/537.36’

ROBOTSTXT_OBEY = False
LOG_LEVEL=‘ERROR’
持久化储存略————————————

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159333.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言-lm_LM算法的more1978

    c语言-lm_LM算法的more1978#pragmaonce#include#include”opencv2\core\core.hpp”#pragmacomment(lib,”opencv_core248d.lib”)constintMAXTIME=50;usingnamespacecv;FileStoragefs;Matjacobin(constMat&pk/*[a,b]*/,

    2022年9月1日
    2
  • navicat激活码2021【2021最新】

    (navicat激活码2021)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~DB…

    2022年3月26日
    75
  • httprunner3源码解读(2)models.py「建议收藏」

    httprunner3源码解读(2)models.py「建议收藏」源码目录结构我们首先来看下models.py的代码结构我们可以看到这个模块中定义了12个属性和22个模型类,我们依次来看属性源码分析importosfromenumimportEnu

    2022年7月29日
    20
  • 深入理解Java自定义注解(二)-使用自定义注解

    深入理解Java自定义注解(二)-使用自定义注解

    2022年3月12日
    54
  • pycharm怎么配置python环境anaconda_ug编程电脑配置要求

    pycharm怎么配置python环境anaconda_ug编程电脑配置要求1.介绍Python:一种解释型、面向对象、动态数据类型的高级程序设计语言。PyCharm:一款好用的集成开发环境。Conda:Python环境管理器,方便我们管理和切换编程环境。2.下载2.1Conda下载Miniconda下载链接Anaconda下载链接Miniconda是Anaconda的压缩版,Miniconda只包含conda的核心内容,Anaconda中包含了Spyder集成开发环境等扩充内容。Miniconda的功能足矣。根据计算机的实际情况选择下载安装包,上图中Py

    2022年8月28日
    3
  • 升级qq群一直显示服务器失败怎么回事啊,QQ群创建失败是怎么回事,QQ群创建失败原因是什么…

    升级qq群一直显示服务器失败怎么回事啊,QQ群创建失败是怎么回事,QQ群创建失败原因是什么…原标题:QQ群创建失败是怎么回事,QQ群创建失败原因是什么有些时候我们创建QQ群的时候会出现创建失败的情况,狠人朋友都不知道造成这种情况发生的原因和处理的方法。接下来,晖哥就和大家分享下造成QQ群创建失败的原因到底是什么?提示1:敏感字眼/输入不符合规范如果QQ群名称或者群简介中含有敏感字的话,那么在创建QQ群的时候就会出现创建QQ失败的情况发生。建议大家可以修改之后,再进行创建QQ群。提示2:…

    2022年5月19日
    78

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号