位置: 编程技术 - 正文

Using Django with GAE Python 后台抓取多个网站的页面全文

编辑:rootadmin

推荐整理分享Using Django with GAE Python 后台抓取多个网站的页面全文,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

一直想做个能帮我过滤出优质文章和博客的平台 给它取了个名 叫Moven。。 把实现它的过程分成了三个阶段:1. Downloader: 对于指定的url的下载 并把获得的内容传递给Analyser--这是最简单的开始2. Analyser: 对于接受到的内容,用Regular Expression 或是 XPath 或是 BeautifulSoup/lxml 进行过滤和简化--这部分也不是太难3. Smart Crawler: 去抓取优质文章的链接--这部分是最难的:

Crawler的话可以在Scrapy Framework的基础上快速的搭建但是判断一个链接下的文章是不是优质 需要一个很复杂的算法

最近就先从Downloader 和 Analyser 开始: 最近搭了一个l2z story 并且还有一个 Z Life 和 Z Life@Sina 还有一个她的博客 做为一个对Downloader 和 Analyser的练习 我就写了这个东西来监听以上四个站点 并且把它们的内容都同步到这个站上:

的特色这个站上除了最上面的黑色导航条 和 最右边的About This Site 部分外, 其他的内容都是从另外的站点上自动获得原则上, 可以添加任何博客或者网站地址到这个东西。。。当然因为这个是L2Z Story..所以只收录了四个站点在里面特点是: 只要站点的主人不停止更新, 这个东西就会一直存在下去---这就是懒人的力量

值得一提的是, Content 菜单是在客户端用JavaScript 自动生成的--这样就节约了服务器上的资源消耗

这里用的是html全页面抓取 所以对那些feed没有全文输出的站点来说, 这个app 可以去把它要隐藏的文字抓来在加载的时候会花很多时间因为程序会自动到一个没有全文输出的页面上抓取所有的文章列表,作者信息,更新时间,以及文章全文。。所以打开的时候请耐心。。。下一步会加入数据存储部分,这样就会快了。。

技术准备 前端:

1. CSS 在信奉简单之上的原则上 twitter的bootstrap.css满足了我大多数的要求 个人超喜欢它的 Grid System 2. Javascript上, 当然选用了jQuery 自从我开始在我的第一个小项目上用了jQuery 后 我就爱上了它 那个动态的目录系统就是用jQuery快速生成的 为了配合bootstrap.css, bootstrap-dropdown.js 也用到了

服务器:

这个app有两个版本: 一个跑在我的Apache上, 但是因为我的网络是ADSL, 所以ip一直会变基本上只是我在我的所谓的局域网内自测用的。。这个版本是纯Django的 另一个跑在Google App Engine上 地址是 在把Django 配置到GAE的时候我花了很多功夫才把框架搭起来

详情请见: Using Django with Google App Engine GAE: l2Z Story Setup-Step 1 自从认识Python后就没有离开它

主要用到的module是

1. BeautifulSoup.py 用于html 的解析--不解释2. feedparser.py 用于对feed xml的解析--网上有很多人说GAE不支持feedparser..这里你们得到答案了。。可以。。这里我也是花了很久才弄明白到底是怎么回事。。总之简单讲就是: 可以用!但是feedparser.py这个文件必须放到跟app.yaml同一个目录中 不然会出现网上众人说的不可以import feedparser的情况

数据库:Google Datastore: 在下一步中, 这个程序会每隔分钟醒来 逐一查看各个站点有没有更新并抓取更新后的文章并存入Google 的Datastore中

App 的配置

Using Django with GAE Python 后台抓取多个网站的页面全文

遵循Google的规则, 配置文件app.yaml 如下:这里主要是定义了一些static directory--css 和 javascript的所在地

URL的配置

这里采用的是Django 里的正则表达式

Views的细节

对Django比较熟悉的人应该会从url的配置中看到view的名字了 我只把L2ZStory的这个view贴出来因为其他的在view里的架构至少是差不多的

这里主要是构建一个dictionary of dictionary htmlpages 和一个list of dictionary PostInfoshtmlpages 主要是存贮站点的 About, Contact US 之类的页面PostInfos 会存贮所有文章的 内容, 作者, 发布时间 之类的

这里面最重要的是PyUtils。。这是这个app的核心

PyUtils的细节

我把一些我认为比较重要的细节加深了 并加了评论

#用来欺骗网站的后台。。象新浪这类的网站对我们这类的app十分不友好。。。希望它们可以多象被墙掉的wordpress学一学。。

template 的概览

在简单之上的原则的鼓舞下, 所有的站点都统一使用一个template 这个template 只接受两个变量--前文中提到的htmlpages 和 PostInfos重要的片断是:

总结

一句话, 我爱死Python了两句话, 我爱死Python了,我爱死Django了三句话, 我爱死Python了,我爱死Django了,我爱死jQuery了。。。

Python 爬虫爬取指定博客的所有文章 自上一篇文章ZStory:UsingDjangowithGAEPython后台抓取多个网站的页面全文后,大体的进度如下:1.增加了Cron:用来告诉程序每隔分钟让一个task醒来,跑到指

玩转python爬虫之cookie使用方法 之前一篇文章我们学习了爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用。为什么要使用Cookie呢?Cookie,指某些网站为了辨别用户身份

玩转python爬虫之URLError异常处理 本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理。1.URLError首先解释下URLError可能产生的原因:网络无连接,即本机无法上网连接不到特

标签: Using Django with GAE Python 后台抓取多个网站的页面全文

本文链接地址:https://www.jiuchutong.com/biancheng/382360.html 转载请保留说明!

上一篇:python实现RSA加密(解密)算法(rsa加密算法python)

下一篇:Python 爬虫爬取指定博客的所有文章(python爬虫爬取网页数据)

  • 企业的企业所得税
  • 一般纳税人注销公司麻烦吗
  • 个体工商户还没有使用怎么注销
  • 收到退回的留抵退税怎么做账
  • 每年的第一季度
  • 银行代发工资户允许有余额吗
  • 汇算清缴税费怎么入账
  • 发票备注没写
  • 转租收入怎样缴税
  • 税务局开收据的流程
  • 劳动仲裁经济补偿金的事实和理由
  • 公司收到法院的欠款起诉书,应该怎么办
  • 社保证明缴费证明查询在哪查
  • 怎么查询发票记录
  • 联营和合营的区别共同控制
  • 实际缴纳的增值税比计提的多
  • 食堂非税收入怎么申报
  • 公司帮员工缴纳个税,不从工资里扣,如何做账
  • 增值税专票已经认证
  • 小规模增值税报表模板
  • 出口退税需要什么单据
  • 产品打样费计入什么科目
  • 材料成本的核算方法有哪些
  • 库管和车间工人哪个好
  • 增值税发票的进项和出项要一致吗
  • 企业原材料成本有哪些
  • 政府收回土地使用权免征增值税的条件
  • 应收账款的主要功能包括哪些
  • php 文件系统
  • php数组按照某个字段排序
  • 更改税种需要哪些资料
  • 服务费可以暂估成本吗
  • win11任务管理器卡死没响应
  • 报销单跨月怎么记账
  • 金税盘怎么增加收款人和复核人
  • mongodb查询工具
  • 出口业务的会计处理
  • 小规模纳税人三减一政策
  • 个体工商户怎么变更法人
  • 企业进项是什么意思
  • 工程分包合同协议书
  • 高新技术企业核心人才保险
  • 长期待摊销费用属于
  • 申报过的印花税在哪查询呢
  • 现金日记账年结怎么做
  • 未开票收入如何申报增值税,下个月怎么操作
  • 公司人才账户有什么用
  • 单位购牙膏牙刷卫生纸怎么做账?
  • 教育费返还款计入收入吗
  • 购买商品或服务不给开发票违法吗
  • 研发费用人工费用包括
  • 填收入与成本明细怎么填
  • innodb_index_stats导入备份数据时报错表主键冲突的解决方法
  • mysql有几种
  • win2000停止服务
  • nvidia专业卡性能对比
  • macbook怎么隐藏
  • 双系统没有选择
  • win7更新和安全在哪里
  • xp系统在新建账户怎么弄
  • win7的屏幕键盘
  • win10插上耳机后电脑还是外放如何解决
  • win8的应用商店
  • win7无法注册dll文件
  • 安装音乐库
  • 如何深度理解
  • 服务器总是自动关机
  • Python爬取qq music中的音乐url及批量下载
  • windows下为啥没有观看电视的软件
  • unity3d有什么用
  • javascript中函数
  • express的中间件
  • python如何查询函数用法
  • android面试2021
  • ImageView的android:maxHeight,android:minHeight的正确设置
  • jquery添加属性的方法
  • 企业个税申报系统密码忘记了在哪能找回呢?
  • 深圳沙井社保局在哪个位置
  • 一般纳税人税务事项告知书在哪里打
  • 报税卡丢了要怎么处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设