python菜鸟 想做一个简单的爬虫 求教程
PHP中文网
PHP中文网 2017-04-17 14:27:26
[Python讨论组]

python菜鸟 想做一个简单的爬虫 求教程 ps:一般公司做爬虫采集的话常用什么语言

PHP中文网
PHP中文网

认证0级讲师

全部回复(15)
高洛峰

以前学习的时候整理的一份教程:

Python 爬虫教程

巴扎黑

简单的,不用框架的,可以看看requests和beautifulsoup这两个库,如果熟悉python语法,看完这两个,差不多能写个简单的爬虫了。


一般公司搞爬虫,我见过的,多用java或者python。

大家讲道理

百度搜索python + 爬虫

高洛峰

简单的爬虫,其实用框架最简单了,看看网上的入门贴
推荐scrapy

PHP中文网

网终上确实有许多的关于Python如何写一个简单爬虫的文章,但这些文章大多只能算是一个例子,能真正应用的还是挺少的。爬虫我认为就是获取内容、分析内容、再存储就OK了,如果只是才接触的话,可以直接Google之就行了。如果是深入的研究的话,可以在Github上找找代码来看下。

我自己对于Python也只是一知半解,希望有所帮助。

怪我咯

可以看看我的资料scrapy

天蓬老师

scrapy 节约你大量时间
github上有很多例子

迷茫

贴一段爬天猫的代码:

def areaFlow(self, parturl, tablename, date):
        while True:
            url = parturl + self.lzSession + '&days=' + str(date) + '..' + str(date)
            print url
            try:
                html = urllib2.urlopen(url, timeout=30)
            except Exception, ex:
                writelog(str(ex))
                writelog(str(traceback.format_exc()))
                break;
            responegbk = html.read()
            try:
                respone = responegbk.encode('utf8')
            except Exception, ex:
                writelog(str(ex))
            # 如果lzSession过期则会返回errcode:500的错误
            if respone.find('"errcode":500') != -1:
                print 'nodata'
                break;
            # 如果时间不对则返回errcode:100的错误
            elif respone.find('"errcode":100') != -1:
                print 'login error'
                self.catchLzsession()
            else:
                try:
                    resstr = re.findall(r'(?<=\<)(.*?)(?=\/>)', respone, re.S)
                    writelog('地域名称    浏览量    访问量')
                    dictitems = []
                    for iarea in resstr:
                        items = {}
                        areaname = re.findall(r'(?<=name=\\\")(.*?)(?=\\\")', iarea, re.S)
                        flowamount = re.findall(r'(?<=浏览量:)(.*?)(?=&lt)', iarea, re.S)
                        visitoramount = re.findall(r'(?<=访客数:)(.*?)(?=\\\")', iarea, re.S)
                        print '%s %s %s' % (areaname[0], flowamount[0], visitoramount[0])
                        items['l_date'] = str(self.nowDate)
                        items['vc_area_name'] = str(areaname[0])
                        items['i_flow_amount'] = str(flowamount[0].replace(',', ''))
                        items['i_visitor_amount'] = str(visitoramount[0].replace(',', ''))
                        items['l_catch_datetime'] = str(self.nowTime)
                        dictitems.append(items)
                    writeInfoLog(dictitems)
                    insertSqlite(self.sqlite, tablename, dictitems)
                    break
                except Exception,ex:
                    writelog(str(ex))
                    writelog(str(traceback.format_exc()))
            time.sleep(1)
PHPz

Scrapy是比较好的选择,相对比较简单,这里有入门教程

天蓬老师

可以先用一个爬虫框架实现业务逻辑,如scrapy,然后根据自己的需求,慢慢的替换掉框架。最后,你就会发现, 你自己实现了一个爬虫框架

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号