怎样用Python 写一个爬虫框架( 五 )
实现更多优雅地功能实现更多的插件,让生态丰富起来修BUG项目地址点击阅读原文或者在github搜索ruia,如果你有兴趣,请参与进来吧!
如果觉得写得不错,来个star呗~
howie6879/ruia相关博文:
如何实现一个Python爬虫框架 - howie6879
■网友
一个爬虫框架要实现的部分:一个爬虫框架需要具备哪些功能? - 。首先要实现一套调度程序要使得以下的流程能运作url html resultSTART! -----\u0026gt; http request -----------\u0026gt; html parse -------\u0026gt; database presist | url | -----------------------下面是一个同步调度程序(假设用户已经实现了request,parse,store)def consume_one_url(self, url): response = fetch(url) items = parse(response) for item in items: presist(item)while urls: url = urls.pop(0) consume_one_url(url)其次再去实现辅助http请求,html解析,数据库存储的扩展工具。最后之一,如果你只想实现一个调度,推荐一个轻量级爬虫框架gaoxinge/spidery,这个框架只实现了多线程调度程序,而http请求,html解析则要使用库:urllib,requests,re,lxml,beautifulsoup等。最后之二,如果你想实现一个一站式的爬虫框架,推荐scrapy/scrapy和binux/pyspider,两者均支持异步请求。
■网友
两种方式嘛。
一种是, 直接用现成的scrapy. 仿一下, 因为它现在发展的还好了。不太复杂的需求基本上都可以用。
二就是自己写,那就是两部分, 依据URL取网页内容, 另外就是分析网页的DOM结构。
URL取网页, httplib 库是不可少的。 另外就是多线程也是不可少的。
分析DOM, 这么复杂的问题, 也要用 xmllib或者直接自己分析自己想要的内容吧。
*如果要爬的内容是基于JS生成的, 那就调用webkit吧。
大概的技术就是这个样子。
别的架构啊,什么的,完全看需要, 用简单几个线程,还是用复杂的分布式,
【怎样用Python 写一个爬虫框架】 看你的目标吧。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 同比■同比增长7.1%!2021年的第一个节你花了多少钱?
- “他是我第一个会说普通话的老师”:一对师生折射青海山村蝶变
- 有必要重新开个C店吗
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 汽车|长安UNI-K又将开创一个新的"引力"纪元?
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
