整理第一个python爬虫的思路
2017-09-28 19:12
162 查看
python 学习一段时间了,一直手痒想要动手做些东西,在过完廖雪峰python基础教程之后,其后面利用 python 创建博客的
项目对自己还是非常困难的。所以昨天转向写 python 简单爬虫,在观看了慕课网的爬虫视频之后,依葫芦画瓢地也写了这个
爬取百度百科的程序。踩了一些坑,也填了一些坑,把一些心得体验及时记录下来,以备未来之借鉴。
爬虫程序整体逻辑分析:
1.对程序的不同功能进行代码分离,并统一在一个包之中:pythonBaike
2.程序分为五个部分:
2.1. url 调度器 url_spider
2.2. url 管理器 url_manager
2.3. url 下载器 url_downloader
2.4. url 解析器 url_parser
2.5. url 输出器 url_outputer
3.各部分功能及方法:
3.1. url_spider
main 函数(?) ,导入其他四个部分,并设定种子 url 作为爬虫入口。
初始化,__init__() ,实例化其他四个部分的对象:
def __init__(self): # 对总调程序初始化
self.urls = url_manager.UrlManager()
self.downloader = html_downloader.HtmlDownLoader()
self.parser = html_parser.HtmlParser()
self.outputer = html_outputer.HtmlOutputer()
建立 craw() 方法,依次进行: 添加 add_new_url(new_url) , 判断是否有 new_url: has_new_url()
取出一个 url get_new_url(); 下载 url 内容, download(new_url); 解析网页内容 psrse(url,data)
保存新爬取的 urls add_new_urls()
保存 网页内容 collect_data() ; 输出数据 output_html()
3.2. 对其余部分建立对应类,绑定对应方法。
class UrlManager(object):
def __init__():
def add_new_url():
def add_new_urls():
def has_new_url():
def get_new_url():
class UrlDownload(object):
def download():
class UrlParser(object):
def __init__():
def parse():
class HtmlOutput(object):
def collect_data():
def output_html():
每个类的绑定方法确定,逐一实现。
每个类是否都需要初始化呢。。。
将所爬取的文件写入到html 文件中,需要制定编码格式为 utf-8
对于数据形式 set() , dict {} ,list [] ,tuple() 的操作。
list.append()
list.pop()
list.insert()
dict['key']
dict.get()
dict.pop()
set(),没有重复的key
add(key)
remove(key)
urllib.request 学习。
urllib.request.urlopen(url) , 返回类文件对象,有 read() 方法
BeautifulSoup 学习。
项目对自己还是非常困难的。所以昨天转向写 python 简单爬虫,在观看了慕课网的爬虫视频之后,依葫芦画瓢地也写了这个
爬取百度百科的程序。踩了一些坑,也填了一些坑,把一些心得体验及时记录下来,以备未来之借鉴。
爬虫程序整体逻辑分析:
1.对程序的不同功能进行代码分离,并统一在一个包之中:pythonBaike
2.程序分为五个部分:
2.1. url 调度器 url_spider
2.2. url 管理器 url_manager
2.3. url 下载器 url_downloader
2.4. url 解析器 url_parser
2.5. url 输出器 url_outputer
3.各部分功能及方法:
3.1. url_spider
main 函数(?) ,导入其他四个部分,并设定种子 url 作为爬虫入口。
初始化,__init__() ,实例化其他四个部分的对象:
def __init__(self): # 对总调程序初始化
self.urls = url_manager.UrlManager()
self.downloader = html_downloader.HtmlDownLoader()
self.parser = html_parser.HtmlParser()
self.outputer = html_outputer.HtmlOutputer()
建立 craw() 方法,依次进行: 添加 add_new_url(new_url) , 判断是否有 new_url: has_new_url()
取出一个 url get_new_url(); 下载 url 内容, download(new_url); 解析网页内容 psrse(url,data)
保存新爬取的 urls add_new_urls()
保存 网页内容 collect_data() ; 输出数据 output_html()
3.2. 对其余部分建立对应类,绑定对应方法。
class UrlManager(object):
def __init__():
def add_new_url():
def add_new_urls():
def has_new_url():
def get_new_url():
class UrlDownload(object):
def download():
class UrlParser(object):
def __init__():
def parse():
class HtmlOutput(object):
def collect_data():
def output_html():
每个类的绑定方法确定,逐一实现。
每个类是否都需要初始化呢。。。
将所爬取的文件写入到html 文件中,需要制定编码格式为 utf-8
对于数据形式 set() , dict {} ,list [] ,tuple() 的操作。
list.append()
list.pop()
list.insert()
dict['key']
dict.get()
dict.pop()
set(),没有重复的key
add(key)
remove(key)
urllib.request 学习。
urllib.request.urlopen(url) , 返回类文件对象,有 read() 方法
BeautifulSoup 学习。
相关文章推荐
- Python网络爬虫——我的第一个爬虫(爬取郑州未来一周天气预报)
- 我的第一个Python爬虫
- python 第一个爬虫
- python+Scrapy爬虫编程环境配置的资料整理
- Python 爬虫思路梳理
- Python3 爬虫编写报错及解决方法整理
- python爬虫框架scrapy思路总结
- 我的第一个Python3 网络爬虫 百度百科爬虫
- [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
- python爬虫点触验证码的识别思路(图片版)
- 资源整理 | 32个Python爬虫项目让你一次吃到撑
- python3 爬虫资料整理
- 纪念我的第一个Python爬虫——图片
- python爬虫资料整理
- 【第一个爬虫】python爬取58同城企业信息并插入数据库
- Python 写网络爬虫思路分析
- 如何开始写你的第一个python脚本——简单爬虫入门!
- 第一个python程序,小爬虫--抓取网页图片
- 【爬虫学习3】Python爬取动态页面思路(一)
- python爬虫 scrapy1-安装及创建第一个项目