爬虫项目#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)
上一篇 2022年7月26日 下午2:16
下一篇 2022年7月26日 下午2:36


相关推荐

  • 理解TIME_WAIT,彻底弄清解决TCP: time wait bucket table overflow

    理解TIME_WAIT,彻底弄清解决TCP: time wait bucket table overflow一直对这个问题知其然而不知其所以然,这些日子再次碰到,看了很多的资料,彻底解决一下,呵呵,先上个图,所有理解围绕着此图来看,此图描述了四次挥手的整个过程:650)this.width=650;”title=”QQ截图20160425180531.png”alt=”wKiom1cd6_mwEZr2AACU62IiAp4333.png”src=”http://s5.51cto.com/wyfs

    2022年5月12日
    53
  • html做一个登录注册页面_html5用户注册表单

    html做一个登录注册页面_html5用户注册表单一个简易登录表单的实现,包括用户名、密码、验证码;验证码使用canvas绘制,随机生成。

    2022年8月11日
    14
  • Protostuff使用入门[通俗易懂]

    Protostuff使用入门[通俗易懂]ProtostuffThegoalofprotostuffistogenerateaschemawhetheratcompile-timeorruntimeandusethatforreading/writingtovariousformatsviatheprovidedIOlibs.SchemaAclassthatencapsu…

    2022年5月3日
    77
  • 《那些年啊,那些事——一个程序员的奋斗史》十一[通俗易懂]

    《那些年啊,那些事——一个程序员的奋斗史》十一[通俗易懂]101   回家了!从大巴下来,踏上北海的土地,段伏枥不由地深吸一口气:多么熟悉的带有腥味的空气!虽然说每年段伏枥都会回家过年,但每次都感慨万分。是啊,外出的游子谁不是这样呢?外面的世界或许很精彩,或许很美,但总欠缺了一种熟悉的味道。即使像自己在深圳呆了三年有余,却还是觉得很陌生,似乎只是一个匆匆过客,终究会离开一样。只有回到了家乡,才会有那种回到家的踏实感。    国人的春节归家

    2022年5月5日
    41
  • ScheduledExecutorService 接口[通俗易懂]

    ScheduledExecutorService 接口[通俗易懂]newScheduledThreadPool()或者newSingleThreadScheduled-Executor()方法:延迟执行、周期性执行的执行器如果想在某一段时间之后执行线程操作,或者周期性地重复执行线程操作,则可以使用工厂类Executors的newScheduledThreadPool()方法或者newSingleThreadSche…

    2022年5月5日
    70
  • MySQL timestampdiff()函数返回两个时间之间的差值「建议收藏」

    MySQL timestampdiff()函数返回两个时间之间的差值「建议收藏」TIMESTAMPDIFF(unit,begin,end);TIMESTAMPDIFF函数返回begin-end的结果,其中begin和end是DATE或DATETIME表达式。TIMESTAMPDIFF函数允许其参数具有混合类型,例如,begin是DATE值,end可以是DATETIME值。如果使用DATE值,则TIMESTAMPDIFF函数将其视为时间部分为“00:00:00”的DATETIME值。unit参数是确定(end-begin)的结果的单位,表示为整数。以下是有效单位:MI

    2022年5月6日
    223

发表回复

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

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