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

Scrapy爬虫爬取电影天堂

Scrapy CrawlSpider爬取

目标网址:http://www.dytt8.net
创建项目:scrapy startproject <爬虫项目文件的名字>
生成 CrawlSpider 命令:scrapy genspider -t crawl <爬虫名字> <爬虫域名>
终端运行:scrapy crawl <爬虫的名字>
Python操作Mysql数据库操作: https://www.runoob.com/python/python-reg-expressions.html

爬虫文件

# -*- coding: utf-8 -*-
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
import reclass DySpider(CrawlSpider):name = 'dy'allowed_domains = ['www.dytt8.net']start_urls = ['http://www.dytt8.net/']rules = (Rule(LinkExtractor(allow=r'dytt8\.net/html/gndy/dyzz/\d+/\d+\.html'), callback='parse_item'),)def parse_item(self, response):item = {}item['title'] = response.xpath('//div[@class="title_all"]/h1/font/text()').get()item['datetime'] = response.xpath('//div[@class="co_content8"]/ul/text()').get()item['datetime'] = re.sub('\r\n', '', item['datetime'])item['download'] = response.xpath('//div[@class="co_area2"]//tbody//td/a/@href').get()yield item

pipelines.py 管道文件

# -*- coding: utf-8 -*-# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html
import pymysqlclass MoviesPipeline(object):def __init__(self):self.db = pymysql.connect('127.0.0.1', 'root', 'root', 'spider')self.cursor = self.db.cursor()def process_item(self, item, spider):sql = 'create table if not exists movies (title varchar (255) not null ,datetime varchar (255) not null , download varchar (255) not  null )'sql_insert = 'insert into movies(title, datetime, download) value (%s, %s, %s)'args = (item['title'], item['datetime'], item['download'])self.cursor.execute(sql)self.cursor.execute(sql_insert, args)return itemdef close_spider(self, spider):self.db.commit()self.db.close()

运行结果:
在这里插入图片描述

http://www.xdnf.cn/news/828217.html

相关文章:

  • 11种经典滤波算法
  • PaddleX 3.0-beta重磅开源:多场景低代码AI开发,本地多硬件全兼容
  • 端口扫描原理
  • 游戏测试大揭秘,帮你轻松过关
  • 暴力破解之验证码识别
  • BSD家族大观:FreeBSD、OpenBSD、NetBSD
  • 【Zblog搭建博客网站】windows环境搭建属于自己的博客并发布上线 - cpolar内网穿透
  • 几十个珍藏的网站,相信你会用到的
  • javascript基础入门教程,javascript开发技术大全
  • mdio协议
  • Linux下僵尸进程的处理与回收
  • 什么是一级域名和二级域名
  • 创建版本库
  • Linux上Bochs的安装和配置
  • PHP-FPM、FastCGI和PHP-CGI的用途及示例代码
  • 地心护核者xapofx1_5.dll丢失怎么办?地心护核者xapofx1_5.dll丢失多种解决方法全面分析
  • 去padding_心中无码,自然高清 || 联合去马赛克与超分辨率研究论文Pytorch复现
  • minidump详细介绍
  • 关于不能往yahoo,sina等地址发邮件的问题
  • yandex.com在线以图搜图(找资源网站)
  • linux 访问本地网页内容,(转)linux 命令访问url: curl http://www.baidu.com/index.html...
  • 【解决方案】win11中本地组策略编辑器(gpedit.msc)打不开
  • 模拟电子技术基础 第一章
  • GSLB是什么?谈谈对该技术的一点理解
  • CocoaPods安装以及一些问题处理-2022.6.21
  • Oracle 体系结构(24)—— Oracle 的权限管理与角色(role)
  • JS事件之onmouseover 、onmouseout 与onmouseenter 、onmouseleave区别
  • 渗透测试靶机--- Stapler-1
  • 解决Win10找不到d3d9.dll文件问题
  • 【sshd】sshd_config 中 PermitRootLogin 的forced-commands-only的限定密钥登陆、限定执行命令