进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量.所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来…
第二十二章. 其它应用 1)    Web服务 ##代码 s 000063.SZ ##开盘 o 26.60 ##最高 h 27.05 ##最低 g 26.52 ##最新 l1 26.66 ##涨跌 c1 -0.04 ##涨幅 p2 -0.15% ##总手 v 9190865 ##日期 d1 6/15/2011 ##时间 t1 3:00am #!/usr/bin/env python from time import ctime from urllib import urlopen import…
第十二章. 标准库 See Python Manuals ? The Python Standard Library ? 1)    sys模块 import sys if len(sys.argv) < 2: print 'No action specified.' sys.exit() if sys.argv[1].startswith('--'): option = sys.argv[1][2:] if option == 'version': print 'Version 1.2' el…
接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们BeautifulSoup的基本结构如下 #!/usr/bin/env python # -*-coding:utf-8 -*- from bs4 import BeautifulSoup import requests headers = { 'User-Agent':'Mozilla/5.0 (Win…
上一篇的python 网络爬虫(一) 简单demo 还不能叫爬虫,只能说基础吧,因为它没有自动化抓链接的功能. 本篇追加如下功能: [1]广度优先搜索不断抓URL,直到队列为空 [2]把所有的URL写入文件中 [3]对于不可访问或错误访问的URL,有try except 处理 spider.py # -*- coding: cp936 -*- import urllib,Queue,sgmllib,re,os class URLList(sgmllib.SGMLParser): def rese…
一.编写第一个网络爬虫 为了抓取网站,我们需要下载含有感兴趣的网页,该过程一般被称为爬取(crawling).爬取一个网站有多种方法,而选择哪种方法更加合适,则取决于目标网站的结构. 首先探讨如何安全的下载网页,让后介绍3中爬去网站的常见方法: -- 爬取网站地图: -- 遍历每个网页的数据库 ID: -- 跟踪网页链接: 1.下载网页 要想爬取网页,我们首先将其下载下来.下面的实例脚本使用 Python 的 urllib2 模块下载 URL: import urllib2 def downlo…
Python学习指南 有同学说,我正则用的不好,处理HTML文档很累,有没有其他的方法? 有!那就是XPath,我们可以用先将HTML文档转换成XML文档,然后用XPath查找HTML节点或元素. 什么是XML XML指可扩展标记语言(Extensible Markup Language) XML是一种标记语言,很类似HTML XML的设计宗旨是传输数据,而非显示数据. XML的标签需要我们自行定义. XML被设计为具有自我描述性. XML是W3C的推荐标准. W3School官方文档:http…
因为现在很多网站为了限制爬虫,设置了为只有登录才能看更多的内容,不登录只能看到部分内容,这也是一种反爬虫的手段,所以这个文章通过模拟登录知乎来作为例子,演示如何通过scrapy登录知乎 在通过scrapy登录知乎之前,我们先通过requests模块登录知乎,来熟悉这个登录过程 不过在这之前需要了解的知识有: cookie和session关于cookie和session我之前整理了一篇博客供参考:http://www.cnblogs.com/zhaof/p/7211253.htmlrequests…
总架构理解Middleware 通过scrapy官网最新的架构图来理解: 这个图较之前的图顺序更加清晰,从图中我们可以看出,在spiders和ENGINE提及ENGINE和DOWNLOADER之间都可以设置中间件,两者是双向的,并且是可以设置多层. 关于Downloader Middleware我在http://www.cnblogs.com/zhaof/p/7198407.html   这篇博客中已经写了详细的使用介绍. 如何实现随机更换User-Agent 这里要做的是通过自己在Downla…
爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序反爬虫:使用技术手段防止爬虫程序爬取数据误伤:反爬虫技术将普通用户识别为爬虫,这种情况多出现在封ip中,例如学校网络.小区网络再或者网络网络都是共享一个公共ip,这个时候如果是封ip就会导致很多正常访问的用户也无法获取到数据.所以相对来说封ip的策略不是特别好,通常都是禁止某ip一段时间访问.成本:反爬虫也是需要人力和机器成本拦截:成功拦截爬虫,一般拦截率越高,…