
python网络爬虫
文章平均质量分 71
djd已经存在
······
展开
-
汪海爬虫学习笔记1
网络爬虫网络爬虫就是一个爬行程序,一个抓取网页的程序,有的人说抓取数据很简单,但是管理爬虫就很困难,现在我还不太明白,多学习以后就懂了。其实网络爬虫抓取网页的过程和我们平时用浏览器登陆网页的原理是一样的,打开网页的过程就是浏览器作为一个浏览的“客户端”,向服务器端发送了 一次请求,把服务器端的文件“抓”到本地,再进行解释、展现。浏览器的功能是将获取到的HTML代码进行解析,然后将原始的代码转变原创 2015-04-12 21:07:18 · 1756 阅读 · 0 评论 -
爬虫小记--抓取过程简要分析
前段时间做一个产品,盈利方式也就是卖数据给用户,用wpf包装一下,当然数据提供方是由公司定向爬虫采集的,虽然在实际工作中没有接触这一块,不过私下可以玩一玩,研究研究。 既然要抓取网页的内容,肯定我们会有一个startUrl,通过这个startUrl就可以用广度优先的方式遍历整个站点,就如我们学习数据结构中图的遍历一样。既然有“请求网页”和“解析网页”两部分,在代码实现上,原创 2015-07-18 16:01:43 · 1909 阅读 · 0 评论 -
爬虫抓取时的几个小细节-缓存、编码、解析
一:网页更新 我们知道,一般网页中的信息是不断翻新的,这也要求我们定期的去抓这些新信息,但是这个“定期”该怎么理解,也就是多长时间需要抓一次该页面,其实这个定期也就是页面缓存时间,在页面的缓存时间内我们再次抓取该网页是没有必要的,反而给人家服务器造成压力。就比如说我要抓取博客园首页,首先清空页面缓存,从Last-Modified到Expires,我们可以看到,博客园的缓原创 2015-07-18 15:36:13 · 3571 阅读 · 0 评论 -
Python的爬虫框架 Scrapy
网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据。虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间。Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。一、概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示)。下面就来一个个解释原创 2015-11-15 15:31:45 · 2229 阅读 · 0 评论 -
python多线程抓取类
我们平常抓取数据的时候,我们经常会写一个多线程来提高抓取的速度,我们先来一段多线程的模板.#_*_ coding:utf-8 _*_from threading import Threadfrom Queue import Queuefrom time import sleep#q是任务队列#NUM是并发线程总数#JOBS是有多少任务q = Queue()NUM = 2JOB原创 2015-12-14 14:13:14 · 1520 阅读 · 0 评论 -
Python 爬虫的工具列表
这个列表包含与网页抓取和数据处理的Python库网络通用urllib -网络库(stdlib)。requests -网络库。grab – 网络库(基于pycurl)。pycurl – 网络库(绑定libcurl)。urllib3 – Python HTTP库,安全连接池、支持文件post、可用性高。httplib2 – 网络库。RoboBrowser – 一个简单的、极具P原创 2015-12-14 15:22:45 · 1520 阅读 · 0 评论 -
抓取网页的gzip/deflate
现在的网页普遍支持gzip压缩,这往往可以解决大量传输时间,以豆瓣的主页为例,未压缩版本327K,压缩了以后61K,为原来的1/5。这就意味着抓取速度会快5倍。然而python的urllib/urllib2默认都不支持压缩,要返回压缩格式,必须在request的header里面写明’accept-encoding’,然后读取response后更要检查header查看是否有’content-原创 2015-12-14 14:16:58 · 3574 阅读 · 1 评论 -
如何防止scrapy爬虫被禁止
根据scrapy官方文档:http://doc.scrapy.org/en/master/topics/practices.html#avoiding-getting-banned里面的描述,要防止scrapy被ban,主要有以下几个策略。1.动态设置user agent2.禁用cookies3.设置延迟下载4.使用IP地址池(Tor project、VPN和代理IP)5.原创 2015-12-15 19:05:01 · 10163 阅读 · 0 评论 -
python网络爬虫——基本概念及代码实现1
Python网络爬虫爬虫是什么?网络爬虫就是一段抓取网页的程序,基本操作就是抓取网页,每个网页都是有一段段代码组成的,爬虫的工作就是通过网页的链接地址寻找网页。 URI和URL的区别Web上每一种资源(文档、视频、图片、程序)都由一个通用资源标识符(URI)进行定位。URL是URI的一个子集,二者的区别在于,URI表示请求服务器的路径,定义这么一个资源,而URL同时说明要如何访原创 2015-04-01 00:21:24 · 2086 阅读 · 0 评论 -
抓取糗百内容小爬虫(python2.7) 2015最新版
由于糗百网页格式又变了了,我就小小的更新了一下,现在只能抓取文字内容,过几天写一个可以文字图片一起抓取的,这个图片一定不能遗漏啊。。。。。有什么问题请您提出,跪求指正啊。# -*- coding:utf8 -*-"""新建立一个线程一直在提取想要的内容,pages中存取的内容小于两页的时候才爬去网页内容否则将会进入sleep,另一个线程就是在显示,一直有一个输入在循环,如果输入qu原创 2015-04-23 14:46:46 · 2565 阅读 · 0 评论 -
利用Queue库实现python进程间通讯
曾经写过几个爬虫,自己维护的多线程,都是用这种方法进行的通信,创建两个队列,一个存储网址url另一个存储网页的内容,创建两个线程类,类A的run函数中做的是利用url提取网页的内容,类B的run函数中做的是从网页内容的队列中提取内容,之后进行正则表达的分析,提取去想要的数据,可以存到文件中,也可以存到数据库中,都可以. 底下的代码就是相当于一个简答的通信框架,需要的时候可以扩展原创 2015-12-21 16:11:46 · 2433 阅读 · 0 评论 -
python爬虫抓取全国pm2.5的空气质量(2015.12.21版)
这个编码格式真的是很闹心啊,看来真的得深入学习一下编码格式,要不这各种格式错误。这个编码还和编辑器有关系,最开始的时候实在sublime Text里编辑的代码,运行起来卡卡的,特别顺畅,但突然发现它不支持raw_input和input,所以令临时换到了python官方提供的idle中。之后就出现了各种奇葩编码错误。。。。。。程序大概意思就是,你输入一个城市的拼音,它就会返回这个城市的空气污原创 2015-05-09 14:41:46 · 9083 阅读 · 1 评论 -
python用BeautifulSoup抓取知乎小药丸
环境:python2.7+BeautifulSoup的库,如果安装了pip,就直接pip install BeautifulSoup就ok。直接上代码吧。# -*- coding: utf-8 -*-import urllib2from BeautifulSoup import BeautifulSoupf = open('Answer.txt','w') for page原创 2016-05-11 09:53:50 · 1846 阅读 · 0 评论 -
抓取csdn博客的所有文章url
输入博客的主域名,就可以抓取这个博客所有的文章编号。# -*- coding:utf8 -*- import stringimport urllib2import reimport timeimport randomclass 优快云_Spider: def __init__(self,url): self.myUrl = url s原创 2016-07-13 11:36:21 · 1604 阅读 · 0 评论 -
爬虫ip代理服务器的简要思路
爬虫有的时候会遇到被禁ip的情况,这个时候你可以找一下代理网站,抓取一下ip,来进行动态的轮询就没问题了,也可以用别人做好的第三方ip代理平台,比如说crawlera,crawlera是一个利用代理IP地址池来做分布式下载的第三方平台,除了scrapy可以用以外,普通的java、php、python等都可以通过curl的方式来调用,具体如何设置可以查看 crawlera使用指南如果原创 2016-06-23 10:45:19 · 18921 阅读 · 0 评论 -
python爬取京东所有iphone的价格和名称
原本想升一下级,用一下creep神马的,但是正则今天突然出了点小问题,我就生气了,就用正则抓取了一下。这个正则可以用re.search 或者 re.findall都可以,我比较喜欢用search因为可以直接提取结果不用在过滤了。代码如下,这个小爬爬比较简单。#-*- coding:utf-8 -*-import urllib2import jsonimport reSear原创 2015-04-30 00:27:08 · 4151 阅读 · 3 评论 -
利用scrapy抓取网易新闻并将其存储在mongoDB
好久没有写爬虫了,写一个scrapy的小爬爬来抓取网易新闻,代码原型是github上的一个爬虫,最近也看了一点mongoDB,顺便小用一下,体验一下NoSQL是什么感觉。言归正传啊,scrapy爬虫主要有几个文件需要修改。这个爬虫需要你装一下mongodb数据库和pymongo,进入数据库之后,利用find语句就可以查看数据库中的内容,抓取的内容如下所示:{ "_id" : ObjectId原创 2015-06-10 10:54:36 · 5015 阅读 · 0 评论 -
python网络爬虫实践出真知(1)
一个下载网页的小程序,改编自汪海的blog。# -*- coding:utf-8 -*-'''就是一个简单读取网页,将网页存入文件的小程序'''import string,urllib2def baiduspider1(url,begin,end):#url 下载页面的地址 begin 开始页数 end 结束页数 for i in range(begin,end+1):原创 2015-04-18 00:28:06 · 1450 阅读 · 0 评论 -
python模拟浏览器登陆淘宝(设置代理、输入验证码)
python模拟浏览器登陆淘宝,其中有输入验证码和打开浏览器,设置代理IP等等。原创 2015-04-26 23:55:43 · 4771 阅读 · 0 评论 -
python模拟浏览器登陆人人网站
想要实现网站的登陆,post方法就是提交数据到网站,所以要post数据来用python实现登陆。当你想要登陆人人时,首先要知道网站的登陆细节(先发送账号和密码,返回cookie值,发送cookie到服务器,返回页面,再使用正则提取你想要的数据),我是通过HTTPfox来抓取http数据包来分析这个网站的登陆流程。同时,我们还要分析抓到的post包的数据结构和header,要根据提交的数据结构和he原创 2015-04-25 16:57:27 · 2176 阅读 · 0 评论 -
python模拟登陆人人网(通过BeautifulSoup module)
通过BeautifulSoup来登陆人人网。可以通过info = {'email':'','password':''}进行账号密码的初始化,一个BeautifulSoup的简单应用,过一阶段会写一个关于BeautifulSoup框架使用的小手册,欢迎大家关注啊,求各路读者大大多加指导。#-*- coding:utf-8 -*-import urllibimport urllib2impo原创 2015-04-26 23:24:11 · 2959 阅读 · 0 评论 -
python抓取京东商城的商品名称和价格
突然心血来潮想抓一个京东的商品价格,突然发现网页的源码里没有价格这一项,只有商品的编号,网上说是显示的同事js从数据库里取出商品价格,放在页面上,那么我只能模拟请求了。哇咔咔,记得去你给京东投简历之后就没有然后了,难道就因为我也叫京东,你这也太浮夸了,给我幼小心灵造成创伤了。 原本要写一下creepy这个模块来抓取了,但今天时间不够了,明天还要上班。。。。明天再写那个模块吧,据说原创 2015-04-29 01:06:47 · 10619 阅读 · 3 评论 -
抓取百度贴吧python小爬虫 (2015最新版)
网上好多抓取贴吧的小爬虫都失效了,原因是百度贴吧的编码格式变了,或者是html代码变了,像这种简单的读取源代码的爬虫,只要网页源代码改变之后就得重新修改。请诸位大牛指点。# -*- coding:utf8 -*-"""程序就是读取网页的源代码,如果想获取相应的内容就找到其特定的格式,再利用正则表达式来获取。"""import stringimport urllib2import r原创 2015-04-23 22:57:46 · 2470 阅读 · 0 评论 -
python多线程多队列(BeautifulSoup网络爬虫)
程序大概内容如下:程序中设置两个队列分别为queue负责存放网址,out_queue负责存放网页的源代码。ThreadUrl线程负责将队列queue中网址的源代码urlopen,存放到out_queue队列中。DatamineThread线程负责使用BeautifulSoup模块从out_queue网页的源代码中提取出想要的内容并输出。这只是一个基本的框架,可以根据需求继续扩展原创 2015-04-27 23:22:00 · 3941 阅读 · 1 评论 -
爬虫Scrapy学习指南之抓取新浪天气
scrapy有一个简单的入门文档,大家可以参考一下,我感觉官方文档是最靠谱的,也是最真实的。首先我们先创建一个scrapy的项目scrapy startproject weather我采用的是ubuntu12.04的系统,建立项目之后主文件夹就会出现一个weather的文件夹。我们可以通过tree来查看文件夹的结构。可以使用sudoapt-get insta原创 2015-05-11 11:47:55 · 3475 阅读 · 2 评论 -
爬虫scrapy抓取w3school课程列表
首先还是先创建scrapy项目,当然这都是在你安装scrapy之后啊,这个scrapy还是在linux系统下最省事,一行指令瞬间安装,这酸爽。。。。。言归正传啊,创建scrapy文件。scrapy startproject w3school之后可以查看一下,这个文件的结构,上一次抓取天气的时候还记得吗,我们采用的是tree命令。tree w3school你就能看见一个树形的原创 2015-05-12 19:14:18 · 2972 阅读 · 0 评论 -
ubuntu下安装scrapy爬虫框架
Scrapinghub 发布的apt-get可获取版本通常比Ubuntu里更新,并且在比 Github 仓库 (master & stable branches) 稳定的同时还包括了最新的漏洞修复。 1.把Scrapy签名的GPG密钥添加到APT的钥匙环中: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.原创 2015-05-05 17:39:38 · 1810 阅读 · 0 评论 -
多线程抓取豆瓣编程书籍(linux\windows都可运行)
首先创建两个队列,queue队列存储要爬的网址,out_queue存储的是要取内容的网页源代码。创建线程类,ThreadUrl的作用是从给定的网址上抓取网页内容,并将内容存储在out_queue队列上,而DatamineThread的作用是从网页源代码中通过正则来取想要的内容。这个代码在window下运行的话就需要将.decode('utf8')那句话前面的#删除就ok了,编码方式需要改一原创 2015-05-07 08:52:12 · 1770 阅读 · 0 评论 -
scrapy爬虫必需品--------xpath学习
XPath 路径表达式XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。节点在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点原创 2015-06-18 11:38:53 · 1894 阅读 · 0 评论 -
ubuntu定时执行任务crontab的使用
crontab单词的意思是:定时任务。看看百科定义[完整定义]:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρόνος),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,原创 2015-06-19 09:31:11 · 1650 阅读 · 0 评论 -
scrapy爬虫-------命令解析
scrapy是通过命令行进行控制的,你可以在命令行中输入一个scrapy,会出现一拍命令。你也可以通过tree来查看scrapy的目录结构,scrapy.cfg存放的目录被认为是项目的根目录,该文件中包含python模块名的字段定义了项目的设置。下面的代码是我一个爬取天气的爬虫中的.cfg文件。# Automatically created by: scrapy startproject原创 2015-05-22 10:23:33 · 6268 阅读 · 0 评论 -
集体编程的智慧下载(超高清版+源代码)
http://download.youkuaiyun.com/download/exsuns/1575201 PDF下载网址http://download.youkuaiyun.com/download/t1152333723/7192265 源代码下载原创 2015-06-02 19:19:05 · 3999 阅读 · 0 评论 -
防盗链和反盗链的原理
防盗链原理http标准协议中有专门的字段记录referer一来可以追溯上一个入站地址是什么二来对于资源文件,可以跟踪到包含显示他的网页地址是什么因此所有防盗链方法都是基于这个Referer字段防盗链的作用在很多地方,如淘宝、拍拍、有啊等C2C网站,发布商品需要对宝贝进行描述,就需要图片存储,而为了使自己辛辛苦苦拍摄的图片不被别人调用,就需要防盗链的功能。原创 2016-08-15 12:22:58 · 21302 阅读 · 0 评论