#coding:utf8

from baike_spider import url_manager, html_downloader, html_parser,\

html_outputer

class SpiderMain(object):

#构造函数,初始化各个对象

def __init__(self):

#url管理器

self.urls = url_manager.UrlManager()

#url下载器

self.downloader = html_downloader.HtmlDownloader()

#url解析器

self.parser = html_parser.HtmlParser()

#url输出器

self.outputer =html_outputer.HtmlOutputer()

#爬虫的调度程序

def craw(self, root_url):

#count记录当前爬取的是第几个url

count = 1

#1.首先将入口url添加入管理器

self.urls.add_new_url(root_url)

#启动爬虫循环,当管理器中有url时

while self.urls.has_new_url():

try:

#获取一个待爬取的url

new_url = self.urls.get_new_url()

print 'craw %d : %s' % (count,new_url)

#启动下载器下载页面

html_cont = self.downloader.download(new_url)

#调用解析器解析页面数据,返回新的url列表和新的数据

new_urls,new_data = self.parser.parse(new_url,html_cont)

#将新的url补充到管理器

self.urls.add_new_urls(new_urls)

#收集数据

self.outputer.collect_data(new_data)

#爬取1000个目标

if count == 1000:

break

count = count + 1

except:

print 'craw failed'

#输出收集好的数据

self.outputer.output_html()

#1.首先编写main函数

if __name__=="_main_":

#2.编写入口的url

root_url = "http://baike.baidu.com/view/21087.htm"

obj_spider = SpiderMain()

#3.启动爬虫

obj_spider.craw(root_url)

python爬虫换电脑不能运行_python爬虫程序运行失败,求原因相关推荐

  1. python selenium 进入新标签页_python 爬虫之selenium可视化爬虫

    文章目录 前文回顾 快速入门 元素定位 页面操作 等待方式 扩展程序加载 点击此处,获取海量Python学习资料! 之所以把selenium爬虫称之为可视化爬虫 主要是相较于前面所提到的几种网页解析的 ...

  2. python爬虫都需要什么手续_Python爬虫入门 | 3 爬虫必备Python知识

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  3. python fastapi 获取所有header信息_Python爬虫实战五之模拟登录淘宝并获取所有订单...

    点击上方[Python与人工智能社区]→右上角[...]→[设为星标⭐] 经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家 ...

  4. python爬虫资源路径报错_python爬虫

    一.网络爬虫介绍 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成. 例如,百度.google搜索某关键字时,就是爬取整个互联网上的相关资源,给呈现出来. 实际爬 ...

  5. python爬虫源码怎么使用_Python爬虫具体应该怎么使用?

    1.首先,什么时候我们需要爬虫呢? 当我们需要某网站上的海量数据的时候,会发现,如果人工去把几百页,每页几十条到几百条的数据一条一条地复制下来,就太费时费力了,甚至根本就不可能.但是你做研究却需要这样 ...

  6. python的scrapy框架的安装_Python爬虫基础(四)--Scrapy框架的安装及介绍

    Scrapy框架的介绍 安装: pip3 install Scrapy 安装测试: cmd命令行界面,输入:scrapy -h 框架安装完成: scrapy框架: 分为五个模块+两个中间件(5+2结构 ...

  7. python爬虫用多线程还是多进程_python爬虫之多线程、多进程爬虫

    多线程对爬虫的效率提高是非凡的,当我们使用python的多线程有几点是需要我们知道的: countdown是一个计数的方法,正常执行它,我们一般使用countdown(10),就可以达到执行的目的,当 ...

  8. python爬取网页数据软件_python爬虫入门10分钟爬取一个网站

    一.基础入门 1.1什么是爬虫 爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序. 从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HT ...

  9. python爬取公交车站数据_Python爬虫实例_城市公交网络站点数据的爬取方法

    爬取的站点:http://beijing.8684.cn/ (1)环境配置,直接上代码: # -*- coding: utf-8 -*- import requests ##导入requests fr ...

  10. python登录并关注公众号_python爬虫之微信公众号关注度排行榜

    摘要:根据一个运营朋友的需求,取出上万个微信公众号的关注度排行,最终用python实现了这一需求,工作量从至少3天缩减至2小时. 简介:本文使用python+requests框架实现接口访问,通过字典 ...

最新文章

  1. “史上最强”BigGAN公开TensorFlow Hub demo!
  2. 阶段式(瀑布式)传统软件研发流程
  3. python 操作word页眉表格_python批量设置多个Excel文件页眉页脚的脚本
  4. Google联手Facebook 要在AI研究上搞什么大事?
  5. 秒抢红包的背后,是复杂的即时付款系统
  6. Android中的MVP模式初步使用
  7. java try catch嵌套_try catch里面try catch嵌套
  8. SpringBoot | 第九章:Mybatis-plus的集成和使用
  9. PyTorch模型的保存加载以及数据的可视化
  10. 现在补上个人项目的分析照片
  11. Windows自动删除n天前的文件的批处理脚本
  12. 软件设计师备考知识03
  13. can test 接收报文_CAN总线
  14. android 参数签名 存放,SignatureView 一个在Android上的电子签名板,能保存所签名的图片...
  15. php上传头像的代码,关于微信小程序中上传头像的代码
  16. 基于MATLAB机器视觉技术的水果分级研究进展
  17. circos 作图简介
  18. 微信企业号加密异常处理:InvalidKeyException
  19. 如何在网页中添加 GitHub Corners
  20. python for ArcGIS 绘制北京市板块地图

热门文章

  1. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置显示均值、标准偏差)实战
  2. 什么是假设检验(hypothesis test)?什么是正态性检验(normality test)?
  3. python使用imbalanced-learn的RandomOverSampler方法进行上采样处理数据不平衡问题
  4. 自然语言处理NLP之自然语言生成、文本相似性、看图说话、说话生图、语音合成、自然语言可视化
  5. Python3 元组tuple
  6. An improved genome reference for the African cichlid, Metriaclima zebra 非洲慈鲷,斑马宫丽鱼的改良基因组参考
  7. java字典序列化_Java对象序列化,Serialize Java Data Object,音标,读音,翻译,英文例句,英语词典...
  8. php批量请求url_php请求url的方法小结
  9. java悲观者不加事务_在spring中,使用事务和不用事务的区别
  10. 人群运动--Scene-Independent Group Profiling in Crowd