第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

花兩周時(shí)間用Python和Scrapy做個(gè)小爬蟲

標(biāo)簽:
Java Python

两周前开始准备做爬虫。
以前有了解,Python有一个优秀的爬虫框架叫Scrapy,但是自己不怎么会Python,只在2015年的时候稍微看过一下,于是打算从头开始学习,先学Python,再了解爬虫的基础知识,再学习Scrapy,最终做出一个厉害的爬虫。这个爬虫应当具有以下的功能:

  • 防止被ban

  • 有效的错误处理

  • 重复数据的处理

到昨天,两周过去了,实现了以下的内容:

  • 了解了Python的基础知识,包括基本语法,数据结构,函数相关,以及面向对象,简单的正则;

  • 了解了爬虫的基本原理,简单用了下urllib2库;

  • 使用Scrapy自己写了一个爬虫,爬去了一整个网站,2万多个页面的数据;

下面来看看学习的情况。

第一周:

学习了Python的基础知识。看的是廖雪峰的Python2.7教程,由于Scrapy对于Python3的支持不够好,所以选择学习Python2.7,这个教程写得简单明了,对于有其他语言经验的选手,可以说学起来毫不费力。

第二周:

  • 先在 一个叫静觅的博客看了几篇关于爬虫的文章,这个博客里面也有几篇文章是讲从0开始学爬虫的;

  • 之后在知乎看到一个人答案里面说,Scrapy其实性能挺好的,自己撸了一圈爬虫后,发现还不如直接用Scrapy来得好,于是我决定直接开始整Scrapy;

  • 首先我想到的是去看Scrapy的中文文档,但是后来发现官方的版本已经是1.1.1了,中文文档只有0.24.1,并且照着文档做的时候发现有些地方不太对,没法出应该出现的效果,让我非常沮丧。痛定思痛之后,我决定直接撸最新的英文文档,静下心来,多一点耐心,我发现居然看起来没有什么问题,照着Tutorial敲了一遍;

  • 我想把数据存入MySQL,但是文档里面没有,于是看了下别人写的一个实例;
    之后,花了很长时间去配置MySQL,最终也没能成功,在安装MySQL-python的时候一直报错,谷歌百度了N圈也没有办法解决,于是换了个思路决定用MongoDB,后来发现MongoDB的配置极其简单:

from pymongo import MongoClientclass MongoDBPipeline(object):
    def __init__(self):
        connection = MongoClient(\'localhost\',27017)
        db = connection.ws
        self.ws = db.ipws
    def process_item(self, item, spider):
        self.ws.insert(dict(item))
        return item

最后照着
一个实例里面Spider的逻辑写了一个爬虫,并且将数据存入到MongoDB,代码如下:
items代码

import scrapyclass ipwsItem(scrapy.Item):
    title = scrapy.Field()
    url = scrapy.Field()
    num = scrapy.Field()
    content = scrapy.Field()

Spider的代码

Paste_Image.png

Pipeline的代码就是上面贴过的。

接下来的两周里面,应该做的事情就是:

  • 抓取ajax生成的数据

  • 错误处理

  • 重复数据处理

  • 防止被ban

再之后,可能研究下分布式爬虫。

作者:唐晓阳
链接:https://www.jianshu.com/p/5921af106659


點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消