自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 使用requests和re库对淘宝商品信息进行定向爬取

#coding=utf-8import requestsimport redef getHtmlText(url): try: r= requests.get(url, timeout = 30) r.raise_for_status() r.encoding = r.apparent_encoding return

2017-05-28 21:40:14 821

原创 re库主要功能函数

#coding=utf-8import re#re.search(pattern, string, flags)匹配正则表达式的第一个位置,返回match对象match = re.search(r'[1-9]\d{5}', 'BIT 100081')if match: print match.group(0)#re.match(pattern, string, flags

2017-05-28 15:56:11 1150

原创 把信息保存在html文件中的代码

# -*- coding: utf-8 -*-import scrapyclass CrawlSpider(scrapy.Spider): name = 'crawl' allowed_domains = ['www.zuihaodaxue.cn'] start_urls = ['http://www.zuihaodaxue.cn/zuihaodaxuepaimin

2017-05-27 20:35:18 1020

原创 定向网页爬取

#coding=utf-8import requestsfrom bs4 import BeautifulSoupimport bs4import sysreload(sys)sys.setdefaultencoding( "utf-8" )def getHTMLText(url): try: r = requests.get(url, timeout=3

2017-05-27 09:59:16 284

原创 Ip地址查询

#-*- coding:UTF-8 -*-import requestsdef IpSeek(url): try: r = requests.get(url + '202.204.80.112') print r.raise_for_status() r.encoding = r.apparent_encoding pr

2017-05-25 21:34:55 344

原创 网络图片的爬取与存储

#-*- coding:UTF-8 -*-import requestsimport osdef getImage(url): root = 'F:/image/' path = root + url.split('/')[-1] try: if not os.path.exists(root): os.mkdir(root)

2017-05-25 21:21:01 287

原创 爬取网页的通用代码框架

#-*- coding:UTF-8 -*-import requestsdef getHTMLText(url): try: r = requests.get(url, timeout = 30) r.raise_for_status() #如果状态不是200,引发HTTPError异常 r.encoding = r.apparent_

2017-05-25 16:15:13 614

原创 Selenium

from selenium import webdriverdef main(): driver = webdriver.Firefox() driver.get('http://example.webscraping.com/search') driver.find_element_by_id('search_term').send_keys('.') dr

2017-05-25 14:58:35 191

原创 渲染类

# -*- coding: utf-8 -*-import reimport csvimport timetry: from PySide.QtGui import QApplication from PySide.QtCore import QUrl, QEventLoop, QTimer from PySide.QtWebKit import QWebVie

2017-05-25 11:17:38 194

原创 对动态网页进行逆向工程

通过搜索字母表的每个字母,然后遍历json响应的结果页面,来抓取所有国家信息。其产生结果将会存储在表格当中。import stringfrom downloader import Downloaderimport jsonD = Downloader()template_url = 'http://example.webscraping.com/ajax/search.json?p

2017-05-23 16:22:16 2241

原创 多进程爬虫

1. mongoqueue.pyfrom datetime import datetime, timedeltafrom pymongo import MongoClient, errorsclass MongoQueue: OUTSTANDING, PROCESSING, COMPLETE = range(3) def __init__(self, client=

2017-05-22 19:53:36 376

原创 多线程爬虫

threaded_crawler.py# -*- coding: utf-8 -*-import timeimport threadingfrom downloader import Downloaderimport urlparseimport robotparserimport csvimport reimport lxmlSLEEP_TIME = 1DEFAULT_A

2017-05-22 16:47:48 298

原创 串行爬虫sequentipl

from link_crawler import link_crawlerfrom mongo_cache import MongoCachefrom alexa_cb import AlexaCallbackdef main(): scrape_callback = AlexaCallback() cache = MongoCache() link_crawler

2017-05-22 10:29:04 295

原创 解析Alexa列表

import csvfrom zipfile import ZipFilefrom StringIO import StringIOfrom downloader import DownloaderD = Downloader()zipped_data = D('http://s3.amazonaws.com/alexa-static/top-1m.csv.zip')urls = []

2017-05-22 09:29:59 720

原创 python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接。

因为对一个网站大量的使用urlopen操作,所以会被那个网站认定为攻击行为。有时就不再允许下载。导致urlopen()后,request.read()一直卡死在那里。最后会抛出errno10054.这个错误是connection reset bypeer.也就是传说的远端主机重置了此连接。原因可能是socket超时时间过长;也可能是request =urllib.request.urlopen

2017-05-22 09:15:30 20409 1

原创 MongoDB

try: import cPickle as pickleexcept ImportError: import pickleimport zlibfrom datetime import datetime, timedeltafrom pymongo import MongoClientfrom bson.binary import Binaryclass Mong

2017-05-21 22:26:04 210

原创 ServerSelectionTimeoutError: localhost:27017: [Errno 10061]

1.启动mongo.exe2:添加一配置文件添加相应目录和文件,如下图所示3:4:

2017-05-21 22:12:26 5295

原创 磁盘缓存

#-*- coding:UTF-8 -*-#原来创建对象时或者是调用类以外的方法时提示没有定义是因为这些类或方法的位置不应该放在主函数后面,而应该放在主函数前面import urlparseimport urllib2import randomimport timefrom datetime import datetime, timedeltaimport socketimport

2017-05-21 11:31:06 516

原创 正则表达式元字符说明

正则表达式元字符说明:123456789101112131415.    匹配除换行符以外的任意字符^    匹配字符串的开始$    匹配字符串的结束[]   用来匹配一个指定的字符类别?   对于前一个字符字符重复0次到1次*    对于前一个字符重复0次到无穷次{}

2017-05-21 10:05:46 284

原创 为链接爬虫添加缓存支持

#-*- coding:UTF-8 -*-#原来创建对象时或者是调用类以外的方法时提示没有定义是因为这些类或方法的位置不应该放在主函数后面,而应该放在主函数前面import urlparseimport urllib2import randomimport timefrom datetime import datetime, timedeltaimport socketimport

2017-05-20 18:09:24 633

原创 三种网页抓取方法

#-*- coding:UTF-8 -*-#1正则表达式import reimport urllib2url = 'http://example.webscraping.com/places/view/United-Kingdom-239'html = urllib2.urlopen(url).read()print re.findall('(.*?)', html)#正则表达式为我

2017-05-20 11:09:18 540

原创 为链接爬虫添加抓取回调

#-*- coding:UTF-8 -*-import reimport urlparseimport urllib2import timefrom datetime import datetimeimport robotparserimport Queueimport lxml.htmlimport csvdef link_crawler(seed_url, link_re

2017-05-20 10:39:42 1389 1

原创 三种网页抓取方法性能对比

import refrom bs4 import BeautifulSoupimport lxml.htmlimport urllib2import timeFIELDS = ('area', 'population', 'iso', 'country', 'capital', 'continent', 'tld', 'currency_code', 'curren

2017-05-20 08:58:25 357

原创 python01

import reimport urlparseimport urllib2import timefrom datetime import datetimeimport robotparserimport Queue#链接爬虫'''一个链接爬虫需要考虑以下几个问题:1.网页可能不存在。就要用到try和except语句,捕获异常。2.临时性的错误。比如服务器过载返回的503

2017-05-19 15:45:03 213

原创 支持向量机

一、支持向量机使用示例数据:1|21|31|41|51|60|70|80|90|100|11程序:import org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.mllib.cla

2017-04-30 16:18:49 170

原创 计算回归曲线的MSE

import org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.mllib.regression.{LabeledPoint, LinearRegressionWithSGD}import org.apache.spark.{SparkConf, SparkContext}object kimiYang { var

2017-04-25 09:51:41 1210

原创 MLlib线性回归实战

一、数据5,1 17,2 19,3 211,4 119,5 318,6 2二、程序import org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.mllib.regression.{LabeledPoint, LinearRegressionWithSGD}import org.apache.spark.{Spa

2017-04-24 20:55:22 502

原创 随机梯度下降算法

一、算法思想随机梯度下降算法就是不停地寻找某个节点中下降幅度最大的那个趋势进行迭代计算,直到将数据收缩到符合要求的范围之内。误差公式:关键的一点是如何调整theta值,使误差函数J最小化。J函数构成一个曲面或者曲线,我们的目的是找到该曲面的最低点:假设随机站在该曲面的一点,要以最快的速度到达最低点,我们当然会沿着坡度最大的方向往下走(梯度的反方向)用数学描述

2017-04-23 15:54:08 2614

原创 协同过滤算法+相似度度量+交替最小二乘法

一.简介协同过滤算法:是一种基于群体用户或者物品的经典推荐算法。分两种:        1.通过考察具有相同爱好的用户对相同物品的评分标准进行计算。        2.考察具有相同特质的物品从而推荐给选择了某件物品的用户。A和B是“志同道合”的基友(相似度很高),将A喜欢的物品推荐给B是合理的       在无先验知识的前提下,根据A所喜欢物品的相似性,将相似物品推荐给

2017-04-20 13:55:26 1819

原创 随机数

import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.mllib.random.RandomRDDs._object testVector { def main(args: Array[String]): Unit = { val conf = new SparkConf() .se

2017-04-20 11:08:54 191

原创 分层抽样

1.sampleByKeyimport org.apache.spark.{SparkConf, SparkContext}object testVector { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local") .setAppName("test

2017-04-20 09:54:18 1937

原创 MLlib数据统计基本概念

import org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.mllib.stat.Statisticsimport org.apache.spark.{SparkConf, SparkContext}object testVector { def main(args: Array[String]): Unit =

2017-04-18 15:01:02 323

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除