为您找到搜索结果:815个
Python 爬虫-股票数据的Scrapy爬虫
2017-08-0619:52:21目标:获取上交所和深交所所有股票的名称和交易信息输出:保存到文件中技术路线:scrapy获取股票列表:东方财富网:http://quote.eastmoney.com/stocklist.html获取个股信息:百度股票:https://gupiao.baidu.com/stock/单个股票:https://gupiao.baidu.com/stock/sz002439.html程序框架编写spider处理链接爬取和页面解析,编写pipelines处理信息存储。一、具体流程步骤1:建立工程和Spider模板步骤2:编写Spider步骤3:编写ITEM Pipelines建立工程和Spider模板>scrapystartprojectBaiduStocks>cd BaiduStocks>scrapygenspiderstocks baidu.com进一步修改spiders/stocks.py文件编写Spider 配置stocks.py文件修改对返回页面的处理修改对新增URL爬取请求的处理stock...
Python 爬虫-Scrapy框架基本使用
2017-08-01 22:39:50一、Scrapy爬虫的基本命令Scrapy是为持续运行设计的专业爬虫框架,提供操作的Scrapy命令行。Scrapy命令行格式Scrapy常用命令采用命令行的原因命令行(不是图形界面)更容易自动化,适合脚本控制本质上,Scrapy是给程序员用的,功能(而不是界面)更重要。 二、Scrapy爬虫的一个基本例子演示HTML页面地址:http://python123.io/ws/demo.html步骤一:建立一个Scrapy爬虫选取一个文件夹,例如E:python,然后执行如下命令。此时在python文件夹下就会生成一个名为Python123demo的工程,该工程的文件结构为: 步骤二:在工程中产生一个Scrapy爬虫使用cd进入E:pythonpython123demo文件夹,然后执行如下命令。该命令作用:(1)生成一个名称为demo的spider(2)在spiders目录下增加代码文件demo.py该命令仅用于生成demo.py,该文件也可以手工生成 步骤三:配置产生的spider爬虫demo文件是使用gens...
Python 爬虫-Scrapy爬虫框架
2017-07-2917:50:29Scrapy是一个快速功能强大的网络爬虫框架。Scrapy不是一个函数功能库,而是一个爬虫框架。爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。 一、Scrapy框架介绍5+2结构,5个主要模块加2个中间件。(1)Engine:控制所有模块之间的数据流;根据条件触发事件。不需要用户修改(2)Downloader:根据请求下载网页。不需要用户修改(3)Scheduler:对所有爬取请求进行调度管理。不需要用户修改(4)Downloader Middleware:实施Engine、Scheduler和Downloader之间进行用户可配置的控制,进行修改、丢弃、新增请求或响应。用户可以编写配置代码(5)Spider:解析Downloader返回的响应(Response);产生爬取项(scraped item);产生额外的爬取请求(Request)。需要用户编写配置代码(6)Item Pipelines:以流水线方式处理Spider产生的爬取项;由一组操作顺序组...
Python 爬虫-获得大学排名
2017-07-2923:20:24主要技术路线:requests+bs4+格式化输出importrequestsfrombs4importBeautifulSoupurl='http://www.zuihaodaxue.com/zuihaodaxuepaiming2017.html'defgethtml(url):#打开网页有风险,需要使用try-except语句进行风险控制kv={'user-agent':'Mozilla/5.0(WindowsNT6.3;Win64;x64;rv:54.0)Gecko/20100101Firefox/54.0'}try:r=requests.get(url,headers=kv)r.raise_for_status()#如果打开失败,则会抛出一个HttpError异常#encoding是从header中分析出来的编码方式,apparent_encoding是从内容分析出的编码方式r.encoding=r.apparent_encodingreturnrexcept:print("打开失败")return-1defgettext(r):soup=B...
Python 爬虫-正则表达式
2017-07-2713:52:08 一、正则表达式的概念(1)正则表达式是用来简洁表达一组字符串的表达式,最主要应用在字符串匹配中。正则表达式是用来简洁表达一组字符串的表达式正则表达式是一种通用的字符串表达框架正则表达式是一种针对字符串表达“简洁”和“特征”思想的工具正则表达式可以用来判断某字符串的特征归属 (2)正则表达式是一个字符串,通过编译将符合正则表达式语法的字符串转换成正则表达式特征。 二、正则表达式的语法正则表达式语法由字符和操作符构成。(1)正则表达式的操作符经典的正则表达式: 三、Re库的使用re库采用原生字符串(rawstring)来表达正则表达式。所谓原生字符串是指没有反义字符的字符串,也就是说在原生字符中‘’就是反斜杠,不是转义。使用原生字符串只需要在字符串前加上r即可。也可以使用正常的string字符串,不过使用string字符串的话需要很多的转义字符来表示单纯的反斜杠。Re库的主要功能函数:re.search(pattern,strin...
Python 爬虫-信息的标记xml,json,yaml
2017-07-26 23:53:03信息标记的作用有:标记后的信息可形成信息组织结构,增加了信息维度标记的结构与信息一样具有重要价值标记后的信息可用于通信、存储或展示标记后的信息更利于程序理解和运用信息标记的三种形式:XMLJSONYAML一、XMLxml的表达格式: 实例: 二、jsonjson:JavsScriptObjectNotation,也就是说json是js中对面向对象信息的一种表达形式。简单讲json是指对有类型的键值对的表达形式。实例: 三、YAMLjson采用有类型的表达方式,而YAML则是一种无类型的方式来表达信息。总的格式如下:举例说明:实例: 四、三种表达格式的比较XML:最早的通用信息标记语言,可扩展性好,但繁琐;Internet上的信息交互与传递JSON:信息有类型,适合程序处理(js),较XML简洁;移动应用云端和节点的信息通信,无注释YAML:信息无类型,文本信息比例最高,可读性好;各类系统的配置文件,有注释易读 ...
Python 爬虫-BeautifulSoup
2017-07-2610:10:11BeautifulSoup可以解析html和xml格式的文件。Beautiful Soup库是解析、遍历、维护“标签树”的功能库。使用BeautifulSoup库非常简单,只需要两行代码,就可以完成BeautifulSoup类的创建,这里命名为soup,接下来就可以对soup进行相关处理了。一个BeautifulSoup类对应html或者xml的全部内容。BeautifulSoup库将任意html文件转换成utf-8格式 一、解析器BeautifulSoup类创建的时候第二个参数是解析器,上面的代码中用的解析器为‘html.parser’,BeautifulSoup支持的解析器有: 二、BeautifulSoup类的基本元素 使用soup.tag来访问一个标签的内容,如:soup.title;soup.a等,这里的返回值为访问标签的第一个出现的值使用soup.tag.name可以得到当前标签的名字,返回值为字符串,如:soup.a.name会返回字符串&lsquo...
Python 爬虫-图片的爬取
2017-07-2522:49:21importrequestsimportosurl='https://wallpapers.wallhaven.cc/wallpapers/full/wallhaven-278989.jpg'root='E://pics//'path=root+url.split('/')[-1]defgethtml(url):#打开网页有风险,需要使用try-except语句进行风险控制kv={'user-agent':'Chrome/10'}try:r=requests.get(url,headers=kv)r.raise_for_status()#如果打开失败,则会抛出一个HttpError异常#encoding是从header中分析出来的编码方式,apparent_encoding是从内容分析出的编码方式#r.encoding=r.apparent_encodingreturnr.contentexcept:print("打开失败")if__name__=='__main__':ifnotos.path.exists(root):os.mkdir(root)...
Python 爬虫-Robots协议
2017-07-2521:08:16一、网络爬虫的规模二、网络爬虫的限制•来源审查:判断User‐Agent进行限制 检查来访HTTP协议头的User‐Agent域,只响应浏览器或友好爬虫的访问•发布公告:Robots协议 告知所有爬虫网站的爬取策略,要求爬虫遵守三、Robots协议作用:网站告知网络爬虫哪些页面可以抓取,哪些不行形式:在网站根目录下的robots.txt文件如果网站不提供Robots协议则表示该网站允许任意爬虫爬取任意次数。类人类行为原则上可以不遵守Robots协议https://www.baidu.com/robots.txthttp://news.sina.com.cn/robots.txt 举例:https://www.jd.com/robots.txtUser‐agent: *Disallow: /?*Disallow: /pop/*.htmlDisallow: /pinpai/*.html?*User‐agent: EtaoSpiderDisallow: /User...
Python 爬虫-Requests库入门
2017-07-2510:38:30response=requests.get(url,params=None, **kwargs)url: 拟获取页面的url链接∙ params: url中的额外参数,字典或字节流格式,可选params参数是字典或字节序列,作为参数增加到url中 kv={'key1':'value1','key2':'value2'}>>> r=requests.request('GET','http://python123.io/ws',params=kv)>>> print(r.url)http://python123.io/ws?key1=value1&key2=value2**kwargs: 12个控制访问的参数headers:字典,HTTP定制头 hd={'user‐agent':'Chrome/10'} r=requests.request('POST','http://python123.io/ws',head...
爬虫的框架安装
我们都知道python的一大利器就是爬虫,简介的代码,和非常牛的异步网络请求框架Twisted,所以了。但是在学习的时候安装scrapy出现的各种问题,今天就来总结一下如何安装。安装Python1.首先环境是python2.7,个人用的是32位的(因为是win10环境开发,安装lxml的时候不识别64位)。个人建议安装到C盘,因为后面的win的C++的一个环境默认是按照在C盘的,而且不提示你更改安装路径。同时lxml会报错找不到 安装完了记得配置环境,将python目录和python目录下的Scripts目录添加到系统环境变量的Path里。在cmd中输入python如果出现版本信息说明配置完毕(如下面截图)。python下载地址。2.升级pip通常这个时候会提示升级pip3.安装lxmllxml是一种使用Python编写的库,可以迅速、灵活地处理XML。点击 这里选择对应的Python版本安装。验证是否安装成功,如下图。在安装这部的时候有时候会出现找不到路径这个时候你的检测了,然后卸载python环境重新安装到C盘,加入环境变量,卸载你报错的软件,然后重新安装4.安...
django的前后的结合,search搜索功能案例
利用django的Q()功能可以很好的展开搜索功能假设我要做个这样的搜索功能那么思路是怎么样的?前端获取--》输入--》ajax后台获取--》进行搜索--》将值返回后台---》ajax在进行处理传到页面那我们就来看看代码前端的代码:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>.left{float:left;}.clearfix:after{content:'.';clear:both;display:block;visibility:hidden;height:0;}</style></head><body><divclass="condition"><divclass="itemclearfix"><divclass="iconleft"onclick="AddCondition(this);">+</...
Mysql_以案例为基准之查询
查询数据操作1.查询记录:SELECTselect_expr[,select_expr...][FROMtable_references[WHERE条件][GROUPBU{col_name|position}[ASC|DESC],..分组][HAVING条件对分组结果进行二次筛选][ORDERBY{col_name|position}[ASC|DESC],...排序][LIMIT限制显示条数]] 2.查询表达式1.每一个表达式表示想要的一列,必须至少有一列,多个列之间以逗号分隔2.*表示所有列,tbl_name.*可以表示命名表的所有列3.模糊查询:LIKE"%"代表0个一个或多个任意字符,"_"代表1个任意字符,(下划线)4.查询表达式可以使用[AS]alias_name为其赋予别名5.GROUPBY查询结果分组1.配合GROUP_CONCAT()得到分组详情2.配合聚合函数:COUNT()----注意单条字段统计不统计Null值;MAX()AVG()SUM()3.配合WITHROLLUP记录上面所有记录的总和6.HAVING子句:通过HAVING子句对分组结果进行二次筛选...
HTML前端--各种小案例
掬一捧清水,放逐在江河,融入流逝的岁月,将心洗净;捻一缕心香,遥寄在云端,在最深的红尘里重逢,将心揉碎;望一程山水,徘徊在月下,在相思渡口苦守寒冬,将心落寞。案例一:隐藏扩展域,并去掉after,并去掉高度<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>.clearfix:after{/*善用after和defore*/content:"111";/*注意加引号*/clear:both;display:block;visibility:hidden;/*隐藏并有高度*/height:0;/*去掉高度*/}.c{width:100px;/*height:100px;*/background-color:red;}.c.item{float:left;width:30px;background-color:green;}</style></head><body&...
Java写的爬虫的基本程序
这是一个web搜索的基本程序,从命令行输入搜索条件(起始的URL、处理url的最大数、要搜索的字符串),它就会逐个对Internet上的URL进行实时搜索,查找并输出匹配搜索条件的页面。 这个程序的原型来自《java编程艺术》,为了更好的分析,站长去掉了其中的GUI部分,并稍作修改以适用jdk1.5。以这个程序为基础,可以写出在互联网上搜索诸如图像、邮件、网页下载之类的“爬虫”。先请看程序运行的过程: D:java>javac SearchCrawler.java(编译) D:java>java SearchCrawler http://127.0.0.1:8080/zz3zcwbwebhome/index.jsp 20 java Start searching... result: searchString=java http://127.0.0.1:8080/zz3zcwbwebho...