- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 HTML_不同版本与声明
声明帮助浏览器正确地显示网页。 声明Web 世界中存在许多不同的文档。只有了解文档的类型,浏览器才能正确地显示文档。HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。这就是 的用处。 不是 HTML 标签。它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的。提示:W3School 即将升级
2017-05-27 13:36:07 2618
原创 HTML_颜色色号
颜色由红色、绿色、蓝色混合而成。颜色值颜色由一个十六进制符号来定义,这个符号由红色、绿色和蓝色的值组成(RGB)。每种颜色的最小值是0(十六进制:#00)。最大值是255(十六进制:#FF)。这个表格给出了由三种颜色混合而成的具体效果:ColorColor HEXColor RGB#000000rgb(0,0,0)
2017-05-27 12:35:39 9128
原创 URL标准概念
URL - Uniform Resource Locator当您点击 HTML 页面中的某个链接时,对应的 标签指向万维网上的一个地址。统一资源定位器(URL)用于定位万维网上的文档(或其他数据)。网址,比如 http://www.w3school.com.cn/html/index.asp,遵守以下的语法规则:scheme://host.domain:port/pa
2017-05-26 12:54:18 964
原创 重定向用户
如何把用户重定向到新的网址:对不起,我们已经搬家了,您的url是:http://www.w3school.com.cn您将在 5 秒内被重定向到新的地址。如果超过 5 秒后您仍然看到本消息,请点击上面的链接。
2017-05-26 12:22:27 549
原创 HTML_超级链接详细讲解
HTML 超级链接详细讲解:http://www.jb51.net/web/10637.html以上这篇简单易懂,30min全部看完,很好的html入门,主要讲了超级链接,以下是练习部分代码:超级链接的设置这里是顶部的锚第1任第2任第3任第4任第5任美国历任总统~第一任(1789-1797)这里是第1任的锚姓名:乔治·华盛顿George Was
2017-05-23 10:12:38 902
原创 爬取网页后的抓取数据_3种抓取网页数据方法
1. 正则表达式(1) re.findall('.*?(.*?)', html)(2) import repattern = re.compile("hello")#match_list = re.findall(pattern, "hello world! hello") 这个是找全部匹配的,返回列表match = pattern.match("hello worl
2017-05-19 17:45:38 16439 1
原创 scraping_编写第一个网络爬虫_最终版本
以下是自己学习到的第一个网络爬虫,是自己写与实例版本的对比1.自己学习写的最终版本import urllib.requestimport urllib.error import re #正则表达式import urllib.parse #将url链接从相对路径(浏览器可懂但python不懂)转为绝对路径(python也懂了)import urllib.robotparser #爬取
2017-05-19 14:14:49 1542
原创 爬取网站前4_避免爬虫陷阱
目前,我们的爬虫会跟踪所有之前没有访问过的链接。但是,一些网站会动态生成页面内容,这样就会出现无限多的网页。比如,网站有一个在线日历功能,提供了可以访问下个月和下一年的链接,那么下个月的页面中同样会包含访问再下个月的链接,这样页面就会无止境地链接下去,这种情况被称为爬虫陷阱。想要避免陷入爬虫陷阱,一个简单的方法是记录到达当前网页经过了多少个链接,也就是深度。当到达最大深度时, 爬虫就不再向队列
2017-05-19 13:44:20 2366
原创 爬取网站前3_下载限速
如果我们爬取网站的速度过快,就会面临被封禁或是造成服务器过载的风险。为了降低这些风险,我们可以在两次下载之间添加延时(其实在解析robots.txt中一般就会有明确指出 下载限速delay的阈值,我们可以根据这个值进行下载限速的设置),从而对爬虫限速。下面是实现下载限速该功能的代码:#爬取网站的下载限速功能的类的实现,需要import datetime#Throttle类记录了每个域名上次访
2017-05-19 11:01:56 895
原创 爬取网站前2_支持代理
有时我们需要使用代理访问某个网站。比如,Netflix 屏蔽了美国以外的大多数国家。使用urllib.request支持代理并没有想象中那么容易(可以尝试使用更友好的Python HTTP模块requests来实现该功能, 其文档地址为http : //docs.python-requests.org/)。下面是使用urllib.request支持代理的代码:#支持代理import urll
2017-05-19 10:47:53 438
原创 爬取网站前1_解析网站robots.txt文件
使用爬虫爬取数据前,我们需要解析网站robots.txt文件,以避免下载禁止爬取的url。这项工作需要使用python3自带的urllib.robotparser模块#使用爬虫爬取数据前,我们需要解析网站robots.txt文件import urllib.robotparserrp = urllib.robotparser.RobotFileParser()rp.set_url("
2017-05-19 09:56:47 4948
原创 用python写一个网络爬虫
引言与前期准备在访问网页时,有时遇到网页访问出错(可能请求错误、可能服务端错误)从而为导致无法正常下载网页,因此我们要能健壮地捕获访问过程的错误并作出相应处理。这里转载一篇python3中的urllib.error实现:Python3网络爬虫(三):urllib.error异常。自己根据这篇文章及实际python3中遇到的问题成功实现了正常捕获网页访问error异常。以下代码实现两个功能:遇到
2017-05-17 11:03:27 763
原创 钓鱼网站规则提取工作的python代码重写总结
0_originJson_writeURL_inTxt.py:import urllib.requestimport jsonorigin_json_data = urllib.request.urlopen(r"http://www.txwz.qq.com/lib/index.php?m=enterprise&a=get_exsample").read()ndata = json.l
2017-05-16 17:07:18 903
转载 python3使用requests包抓取并保存网页源码
转载自:http://blog.csdn.net/w93223010/article/details/18968081近期的工作学习中使用到了Python,分享一些初学者的心得与君共勉。本节的内容主要是如何使用python去获取网页的源代码并存储到本地文件中,希望通过本节可以让你略微了解到python的神奇。先上代码:import urllib.re
2017-05-16 15:59:36 12717 1
转载 python3_检查URL是否能正常访问
1.首先2000个URL。可以放在一个txt文本内2.通过python 把内容内的URL一条一条放进数组内3.打开一个模拟的浏览器,进行访问。4.如果正常访问就输出正常,错误就输出错误import urllib.requestimport timeopener = urllib.request.build_opener()opener.addheaders
2017-05-16 15:48:14 7118 1
原创 python3_访问url、json、读写文件
访问url:import urllib.requestf = urllib.request.urlopen('http://www.python.org/')print(f.read(300))webbrowser调用浏览器打开url:import webbrowserwebbrowser.open("http://www.baidu.com", new=0) #new=0为默
2017-05-16 09:26:02 2325
转载 字符串格式化format符号含义+转义字符含义
http://bbs.fishc.com/forum.php?mod=viewthread&tid=39140&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
2017-05-09 14:23:33 1246
转载 python3 字符串的方法和注释
python3 字符串的方法和注释:http://bbs.fishc.com/forum.php?mod=viewthread&tid=38992&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
2017-05-09 13:47:19 454
原创 进阶篇_STL中通用算法处理数据
1. for_each()算法遍历容器元素形象地讲,for_each()算法像一个漏斗装置,用具体的处理方法来做漏斗的漏纸,把容器中指定的元素遍历倒入漏斗,将符合处理方法的容器元素进行处理void addsalary(int& nsalary) //员工工资低于2000的涨30% { if(nsalary < 2000) { nsalary *= 1.3; }}v
2017-05-03 16:51:22 509
原创 进阶篇_map容器(保存键值对)
1. 三种向map容器插入数据对的方法(等效)map mapEmployee;Employee emp1;mapEmployee.insert(pair(1, emp1)); //法一插入:使用pair建立员工号1和员工对象emp1的映射关系,并插入map容器中 mapEmployee.insert(map::value_type(1, emp1)); //法二插入:使用value_t
2017-05-03 15:44:18 3619
原创 进阶篇_类型打包专家tuple
tuple、get、tie:tuple Human;//Human是新的数据类型Human hujia("jiawei", 23, 56.23);vector vecHuman;cout(hujia)<<endl; //output:jiaweistring name;unsigned int age;double salary;tie(name, age, salary)
2017-05-03 15:04:38 527
原创 进阶篇_vector容器
vector与array区别:前者动态变化,后者固定(一年12月,一周7天比较好)array arrmonths;arrmonths[0] = "jan"; //直接类似数组访问 for(array::iterator it; it!=arrmonths.end(); ++it)//迭代器访问vector常用函数
2017-05-03 14:59:27 371
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人