scrapy爬取51cto博客文章列表保存到本地数据库。这个是本人最近学习爬虫的一个实践案例,源码解析详情请移步博文:https://blog.csdn.net/xiaocy66/article/details/83834261
2021-08-24 16:56:45 14KB scrapy爬虫 python 51cto博客 crawl爬虫
1
使用scrapy框架开发的一个示例程序
2021-08-20 01:40:21 13KB scrapy 爬虫
1
【建立目标】   同样在做任何事情之前都需要明确目标,那这次我们的目标是爬取一些技术性的文章并存储到数据库中。这就需要有目标网址和数据库结构,数据库我们选择使用MySql,目标网站我们找了一个叫脚本之家的内容站。我们这里首先准备好一张用于存储文章的表结构:   CREATE TABLE `articles` (   `id` mediumint(8) AUTO_INCREMENT NOT NULL,   `title` varchar(255) DEFAULT NULL,   `content` longtext,   `add_date` int(11) DEFAULT 0,   `hits` int(11) DEFAULT '0',   `origin` varchar(500) DEFAULT '',   `tags` varchar(45) DEFAULT '',   PRIMARY KEY (`id`),   KEY `add_date` (`add_date`)   ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
2021-07-10 21:02:56 804KB Python scrapy 爬虫 数据采集
基于Python Scrapy实现的拉勾网全站职位数据采集 爬虫系统 含数据库处理和全部源代码 # -*- coding: utf-8 -*- import scrapy from meiju100.items import Meiju100Item class MeijuSpider(scrapy.Spider): name = "meiju" allowed_domains = ["meijutt.com"] start_urls = ['http://www.meijutt.com/new100.html'] def parse(self, response): items = [] subSelector = response.xpath('//ul[@class="top-list fn-clear"]/li') for sub in subSelector: item = Meiju100Item() item['storyName'] = sub.xpath('./h5/a/text()').extract() item['storyState'] = sub.xpath('./span[1]/font/text()').extract() if item['storyState']: pass else: item['storyState'] = sub.xpath('./span[1]/text()').extract() item['tvStation'] = sub.xpath('./span[2]/text()').extract() if item['tvStation']: pass else: item['tvStation'] = [u'未知'] item['updateTime'] = sub.xpath('./div[2]/text()').extract() if item['updateTime']: pass else: item['updateTime'] = sub.xpath('./div[2]/font/text()').extract() items.append(item) return items
2021-07-10 17:02:48 14KB Python scrapy 爬虫 数据采集
基于Python Scrapy实现的爬取豆瓣读书9分榜单的书籍数据采集爬虫系统 含数据集和全部源代码 # -*- coding: utf-8 -*- import scrapy import re from doubanbook.items import DoubanbookItem class DbbookSpider(scrapy.Spider): name = "dbbook" # allowed_domains = ["https://www.douban.com/doulist/1264675/"] start_urls = ( 'https://www.douban.com/doulist/1264675/', ) URL = 'https://www.douban.com/doulist/1264675/?start=PAGE&sort=seq&sub_type=' def parse(self, response): # print response.body item = DoubanbookItem() selector = scrapy.Selector(response) books = selector.xpath('//div[@class="bd doulist-subject"]') for each in books: title = each.xpath('div[@class="title"]/a/text()').extract()[0] rate = each.xpath('div[@class="rating"]/span[@class="rating_nums"]/text()').extract()[0] author = re.search('(.*?)
2021-07-10 17:02:47 19KB python scrapy 爬虫 数据采集
基于Python Scrapy实现的蜂鸟数据采集爬虫系统 含代理、日志处理和全部源代码等 import scrapy from fengniao.items import FengniaoItem from scrapy.spidermiddlewares.httperror import HttpError from twisted.internet.error import TimeoutError, TCPTimedOutError, DNSLookupError, ConnectionRefusedError class FengniaoclawerSpider(scrapy.Spider): name = 'fengniaoClawer' allowed_domains = ['fengniao.com'] # 爬虫自定义设置,会覆盖 settings.py 文件中的设置 custom_settings = { 'LOG_LEVEL': 'DEBUG', # 定义log等级 'DOWNLOAD_DELAY': 0, # 下载延时 'COOKIES_ENABLED': False, # enabled by default 'DEFAULT_REQUEST_HEADERS': { # 'Host': 'www.fengniao.com', 'Referer': 'https://www.fengniao.com', }, # 管道文件,优先级按照由小到大依次进入 'ITEM_PIPELINES': { 'fengniao.pipelines.ImagePipeline': 100, 'fengniao.pipelines.FengniaoPipeline': 300, }, # 关于下载图片部分 'IMAGES_STORE': 'fengniaoPhoto', # 没有则新建 'IMAGES_EXPIRES': 90, # 图片有效期,已经存在的图片在这个时间段内不会再下载 'IMAGES_MIN_HEIGHT': 100, # 图片最小尺寸(高度),低于这个高度的图片不会下载 'IMAGES_MIN_WIDTH': 100, # 图片最小尺寸(宽度),低于这个宽度的图片不会下载 # 下载中间件,优先级按照由小到大依次进入 'DOWNLOADER_MIDDLEWARES': { 'fengniao.middlewares.ProxiesMiddleware': 400, 'fengniao.middlewares.HeadersMiddleware': 543, 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None, }, 'DEPTH_PRIORITY': 1, # BFS,是以starts_url为准,局部BFS,受CONCURRENT_REQUESTS影响 'SCHEDULER_DISK_QUEUE': 'scrapy.squeues.PickleFifoDiskQueue', 'SCHEDULER_MEMORY_QUEUE': 'scrapy.squeues.FifoMemoryQueue', 'REDIRECT_PRIORITY_ADJUST': 2, # Default: +2 'RETRY_PRIORITY_ADJUST': -1, # Default: -1 'RETRY_TIMES': 8, # 重试次数 # Default: 2, can also be specified per-request using max_retry_times attribute of Request.meta 'DOWNLOAD_TIMEOUT': 30, # This timeout can be set per spider using download_timeout spider attribute and per-request using download_timeout Request.meta key # 'DUPEFILTER_CLASS': "scrapy_redis.dupefilter.RFPDupeFilter", # 'SCHEDULER': "scrapy_redis.scheduler.Scheduler", # 'SCHEDULER_PERSIST': False, # Don't cleanup red
2021-07-10 17:02:46 14KB python scrapy 爬虫 数据采集
2020年猎聘网职位信息,可具体到城市以及职业,可自定义。 使用Python Scrapy爬虫框架。
2021-07-09 10:36:49 118KB Python Scrapy 爬虫
1
Scrapy 爬虫 + 数据清理 + 数据分析 + 构建情感分析模型 一、爬取豆瓣Top250的短评数据 movie_item movie_comment movie_people 二、数据清理与特征工程+统计分析 movie_item 总评分最高的前10部电影 最受欢迎的电影类别排名 最受欢迎的电影出品国家排名 最受欢迎的电影导演排名 最受欢迎的电影演员排名 最受欢迎的电影语言排名 根据电影时长的电影排名 根据电影投票数的电影排名 根据电影评价数的电影排名 根据电影提问数的电影排名 根据电影发布时间的规律 1~5星级投票的百分比 电影简介的情感分析 movie_comment 就肖申克的救赎这个电影而言 短评词云 用朴素贝叶斯完成中文文本分类器 用svc完成中文文本分类器 用facebook-fasttext有监督完成中文文本分类 用facebook-fasttext无监督学习 用cnn做中文文本分类 用rnn做中文文本分类 用gru来完成中文文本分类 全部影片的短评数据分析 movie_people 短评人常居地按照国家分布 中国短评人常居地按照省份分布 每个短评人的被关注数与好友数 中国短评人的被关注数和好友数的人均地域分布 根据点评人个人简介构建中文文本分类模型 三、movie_item + movie_comment + movie_people 三个数据集间的协同分析 通过短评来预测被评价电影是什么类型 小结
2021-07-08 15:02:44 73.43MB TOP250 豆瓣电影短评 Scrapy
python scrapy爬虫,兼职赚钱,破解有道翻译api,爬虫批量爬取新闻(内含知乎专栏,励志一生,华盛顿邮报和一个图片网站的爬取方法)翻译发布到wordpress.全套功能都包括,也可用作爬虫学习
2021-07-06 22:56:07 48KB python 翻译 scrapy
1
该案例相对完整,欢饮下载交流。有疑问,可以留言,一起交流探讨并发掘爬虫世界的美!该案例结构清晰,注释明了,可以使大家很好地理解scrapy爬虫框架。
2021-06-30 23:01:43 6.24MB spider 爬虫案例 python爬虫完整案例 python
1