【代码】第12章 pyspider框架的使用

本篇博客主要介绍了如何解决pyspider Web预览界面显示过小的问题,包括修改debug.min.css文件和清理Chrome缓存。此外,还分享了将pyspider爬取的数据存储到本地CSV文件以及利用MongoDB数据库的步骤,探讨了NoSQL数据库的高效性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于 pyspider Web预览界面太小的解决方法
修改C:\Program Files\python3.6.5\Lib\site-packages\pyspider\webui\static\debug.min.css的第一行
清理chrome缓存,页面大小终于正常了。。。。

CSS selector无法工作,待解决。。。。:

pyspider  debug.min.js:1 Uncaught DOMException: Failed to execute 'querySelectorAll' on 'Document':

在这里插入图片描述
将pyspider爬取的数据存到本地.csv:
1.win下装好了MongoDB,于是在服务里开启MongoDB Database Server就可以了
2.先把.csv文件读取为字典,存入MongoDB,有点繁琐,不过先这样吧。。。。
居然运行1.7s,写入数据库约1s,这就是传说中的NoSQL?mysql没查过,改天试试,应该没这么吊把?

import pymongo
import time
import csv
import sys
# 处理异常:_csv.Error: field larger than field limit (131072)
# 处理异常:OverflowError: Python int too large to convert to C long
maxINT = sys.maxsize
decrement = True

while decrement:
    decrement = False
    try:
        print(maxINT)
        csv.field_size_limit(maxINT)
    except OverflowError:
        maxINT = int(maxINT/10)
        decrement = True


def read_csv(file):

    with open(file,  'r', encoding='utf-8') as csvFile:
        reader = csv.reader(csvFile)
        for read in reader:
            # 去掉最后一项'...',这个无法插入MongoDB
            yield read[:10]
        csvFile.close()


def insert2db():
    # 连接MongoDB,创建数据库:qunar,创建攻略collection:strategy
    client = pymongo.MongoClient(host='localhost', port=27017)
    db = client.qunar
    collection = db.strategy
    # 读取生成器对象,取出第一列为keys
    file = 'qunar.csv'
    con = read_csv(file)
    keys = next(con)
    try:
        while True:
            # 读取每一行的value
            value = next(con)
            # 将keys和value组成字典item,插入strategy
            item = dict(zip(keys, value))
            collection.insert(item)
    except StopIteration:
        print('done.')


if __name__ == '__main__':
    start = time.time()
    insert2db()
    print("cost %.2f s" % float(time.time()-start))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值