鱼C论坛

 找回密码
 立即注册
查看: 7381|回复: 45

[作品展示] scrapy爬虫案例~-~ 进入fishc学习python至今挺久啦,主要学习爬虫今天分享一下

[复制链接]
回帖奖励 15 鱼币 回复本帖可获得 1 鱼币奖励! 每人限 1 次(中奖概率 80%)
发表于 2020-12-3 14:58:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 温木zou 于 2020-12-3 15:06 编辑

爬虫文件
  1. import scrapy
  2. from fishc.items import FishcItem
  3. class FcSpider(scrapy.Spider):
  4.     name = 'fc'
  5.     allowed_domains = ['fishc.com']
  6.     start_urls = ['https://fishc.com.cn/forum.php?mod=guide']
  7.     def parse(self, response):
  8.         selectors = response.xpath('//*[@id="threadlist"]/div[2]/table/tbody')
  9.         for i in selectors:
  10.             item=FishcItem()
  11.             item['name']=i.xpath('./tr/th/a/text()').get()
  12.             item['type']=i.xpath('./tr/td[2]/a/text()').get()
  13.             item['writer']=i.xpath('./tr/td[3]/cite/a/text()').get()
  14.             item['time']=i.xpath('./tr/td[3]/em/span').xpath('string(.)').get().replace('\xa0','')
  15.             item['views']=i.xpath('./tr/td[4]/a/text()').get()
  16.             yield item
复制代码

item文件
  1. import scrapy
  2. class FishcItem(scrapy.Item):
  3.     name=scrapy.Field()
  4.     type=scrapy.Field()
  5.     writer=scrapy.Field()
  6.     time=scrapy.Field()
  7.     views=scrapy.Field()
复制代码

管道文件1 #这里我是使用pymysql存入数据库的,没有mysql的自己安装哦
没有pymysql的也可以使用下面的一个管道,是存入csv文件的
  1. import pymysql

  2. class FishcPipeline(object):
  3.     def __init__(self):
  4.         self.db = pymysql.connect(host='localhost', user='root', passwd='123456', db='zhuaba')
  5.         self.cursor = self.db.cursor()
  6.         self.cursor.execute("delete from fishc")
  7.         self.db.commit()
  8.     def process_item(self, item, spider):

  9.         insert_sql="insert into fishc(name,type,writer,time,views) values(%s,%s,%s,%s,%s)"
  10.         data = {
  11.             'name' : item['name'],
  12.             'type' : item['type'],
  13.             'writer' : item['writer'],
  14.             'time' : item['time'],
  15.             'views' : item['views']
  16.         }
  17.         # name =  pymysql.escape_string(data['name'])
  18.         try:
  19.             self.cursor.execute(insert_sql,(data['name'],data['type'],data['writer'],data['time'],data['views']))
  20.             self.db.commit()
  21.         except Exception as e:
  22.             print('问题数据跳过!.......', e)
  23.             self.db.rollback()

  24.         return item
  25.     def close_spider(self, spider):
  26.         self.cursor.close()
  27.         self.db.close()
复制代码

管道文件2 #存入入csv文件  这个要有csv 没有的也请安装下。
  1. import csv
  2. class FishcPipeline(object):
  3.     def __init__(self):
  4.         self.file = open('fishc.csv', 'w', newline='')
  5.         self.csvwriter = csv.writer(self.file)
  6.         self.csvwriter.writerow(['name', 'type', 'writer', 'time','views'])

  7.     def process_item(self, item, spider):
  8.         self.csvwriter.writerow([item['name'], item['type'],
  9.                                  item['writer'], item['time'],item['views']])
  10.         return item

  11.     def close_spider(self, spider):
  12.         self.file.close()
复制代码


最后提醒一下everbody  记得把setting文件里的爬虫协议改成false
并且打开管道

爬虫协议

爬虫协议

打开管道

打开管道



且看结果
存入数据库

mysql

mysql

存入csv文件

csv文件

csv文件


源码我也放上来了,可以自己下过去瞅瞅。
因为是爬fishc.com的  我怕
fishc.zip (11.31 KB, 下载次数: 29)
兄弟们悠着点,我怕帖子被甲鱼删了
请别瞎搞

不懂就评论问

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
疾风怪盗 + 5 + 5 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

  • · 爬虫|主题: 2, 订阅: 0
  • · scrapy|主题: 1, 订阅: 0
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 15:01:39 | 显示全部楼层
厉害,膜拜大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-3 15:09:41 From FishC Mobile | 显示全部楼层

回帖奖励 +1 鱼币

大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 15:15:39 | 显示全部楼层

回帖奖励 +1 鱼币

可以有
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-3 15:23:32 | 显示全部楼层

回帖奖励 +1 鱼币

感谢分享!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-3 15:38:29 | 显示全部楼层

回帖奖励 +1 鱼币

可以可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-3 16:55:16 | 显示全部楼层

回帖奖励 +1 鱼币

感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 17:36:16 | 显示全部楼层

回帖奖励 +1 鱼币

厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-4 07:56:09 | 显示全部楼层

回帖奖励 +1 鱼币

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-4 08:17:49 | 显示全部楼层

回帖奖励 +1 鱼币

感谢分享!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-4 19:37:34 | 显示全部楼层

回帖奖励 +1 鱼币

大佬牛皮!
寻思着只要不过分使用问题不大
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-4 20:33:07 | 显示全部楼层
+
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-5 22:00:54 | 显示全部楼层

回帖奖励 +1 鱼币

1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-5 22:52:29 | 显示全部楼层

回帖奖励 +1 鱼币

大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-6 10:04:03 | 显示全部楼层

回帖奖励 +1 鱼币

大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-7 09:42:11 | 显示全部楼层

回帖奖励 +1 鱼币

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-7 21:41:13 | 显示全部楼层

回帖奖励 +1 鱼币

感觉相当牛逼的样子,膜拜
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-8 02:57:35 From FishC Mobile | 显示全部楼层

回帖奖励 +1 鱼币

殃及池鱼
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-8 07:44:40 | 显示全部楼层

回帖奖励 +1 鱼币

厉害厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-9 14:09:50 | 显示全部楼层

回帖奖励 +1 鱼币

大佬厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-10 18:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表