鱼C论坛

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

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

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

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

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

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

爬虫文件
import scrapy
from fishc.items import FishcItem
class FcSpider(scrapy.Spider):
    name = 'fc'
    allowed_domains = ['fishc.com']
    start_urls = ['https://fishc.com.cn/forum.php?mod=guide']
    def parse(self, response):
        selectors = response.xpath('//*[@id="threadlist"]/div[2]/table/tbody')
        for i in selectors:
            item=FishcItem()
            item['name']=i.xpath('./tr/th/a/text()').get()
            item['type']=i.xpath('./tr/td[2]/a/text()').get()
            item['writer']=i.xpath('./tr/td[3]/cite/a/text()').get()
            item['time']=i.xpath('./tr/td[3]/em/span').xpath('string(.)').get().replace('\xa0','')
            item['views']=i.xpath('./tr/td[4]/a/text()').get()
            yield item
item文件
import scrapy
class FishcItem(scrapy.Item):
    name=scrapy.Field()
    type=scrapy.Field()
    writer=scrapy.Field()
    time=scrapy.Field()
    views=scrapy.Field()
管道文件1 #这里我是使用pymysql存入数据库的,没有mysql的自己安装哦
没有pymysql的也可以使用下面的一个管道,是存入csv文件的
import pymysql

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

        insert_sql="insert into fishc(name,type,writer,time,views) values(%s,%s,%s,%s,%s)"
        data = {
            'name' : item['name'],
            'type' : item['type'],
            'writer' : item['writer'],
            'time' : item['time'],
            'views' : item['views']
        }
        # name =  pymysql.escape_string(data['name'])
        try:
            self.cursor.execute(insert_sql,(data['name'],data['type'],data['writer'],data['time'],data['views']))
            self.db.commit()
        except Exception as e:
            print('问题数据跳过!.......', e)
            self.db.rollback()

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

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

    def close_spider(self, spider):
        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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 15:01:39 | 显示全部楼层
厉害,膜拜大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +1 鱼币

可以有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

感谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

可以可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +1 鱼币

厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +1 鱼币

感谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

大佬牛皮!
寻思着只要不过分使用问题不大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-4 20:33:07 | 显示全部楼层
+
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +1 鱼币

1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +1 鱼币

大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +1 鱼币

大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

感觉相当牛逼的样子,膜拜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

殃及池鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

厉害厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +1 鱼币

大佬厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 03:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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