爬虫
文章平均质量分 80
冯子玉
喜欢学习一切有趣的东西
展开
-
一个简单的爬虫框架
反复给网站编写不同的爬虫逻辑太麻烦了,自己实现了一个小框架可以自定义的部分有:请求方式(默认为Get user-agent为谷歌浏览器的设置),可以通过实现RequestSet接口来自定义请求方式储存方式(默认储存在f盘的html文件夹下),可以通过SaveUtil接口来自定义保存方式需要保存的资源(默认为整个html页面)筛选方式(默认所有url都符合要求),通过实现Reso...原创 2017-04-24 12:47:47 · 414 阅读 · 0 评论 -
scrapy实现增量式爬取
实现爬虫的增量式爬取有两种方法,一是在获得页面解析的内容后判断该内容是否已经被爬取过,二是在发送请求之前判断要被请求的url是否已经被爬取过,前一种方法可以感知每个页面的内容是否发生变化,能获取页面新增或者变化的内容,但是由于要对每个url发送请求,所以速度比较慢,而对网站服务器的压力也比较大,后一种无法获得页面变化的内容,但是因为不用对已经爬取过的url发送请求,所以对服务器压力比较小,速度比较快原创 2017-11-22 10:25:36 · 11878 阅读 · 2 评论 -
scrapy初步-简单静态爬虫(爬取电影天堂所有电影)
之前用java写过一个简单的爬取电影天堂信息的爬虫,后来发现用python写这种简单的爬虫程序更简单,异步网络框架在不使用多线程和多进程的情况下也能增加爬取的速度,目前刚开始学scrapy,用这个写了一个爬电影天堂的程序1.环境部署1:scrapy部署:我是在阿里云的centos+python2.7的环境下部署的scrapy。本人比较习惯使用python3.6.1。之前写爬虫程序的时候最经常用的是原创 2017-09-06 23:40:08 · 3588 阅读 · 0 评论 -
python爬虫-lxml的使用
之前在使用java编写爬虫解析html的时候习惯用jsoup,用python写爬虫的时候习惯用beautifulsoup两个都属于用起来比较简单但是效率相对于其他的库来说比较低下的库,现在学习python下的lxml的使用这里将lxml的语法和beautifulsoup做一个对比1.加载html内容beautifulsoup实现>>> data = open("f:\\test原创 2017-06-03 23:47:12 · 620 阅读 · 0 评论 -
python多线程爬虫框架
最近仿照书上写了个多线程爬虫框架,在实现多进程的时候遇到了困难,不过打算开始学scrapy了也就暂时不管多进程的问题了首先是缓存部分,在每次下载一个html的时候,首先会查询mongodb数据库中是否已经有该页面的缓存,如果没有,下载页面,如果有,获得缓存的页面在mongodb中设置一个特殊索引用于删除超时的缓存(缓存默认保存30天),由于该类实现了 __getitem__和__setit原创 2017-06-08 00:29:14 · 908 阅读 · 0 评论 -
python爬虫-模拟登陆新浪微+博爬取感兴趣人的所有信息
新浪微博的登录非常麻烦,涉及到预登录,用户名密码加密等等一系列问题而现在pc端的新浪微博大量使用了ajax技术,必须要鼠标下滑多次才能加载一个页面的所有信息图省事,使用了selenium_PlantomJS来模拟登陆和获取html页面,优点是实现起来很简单,缺点是速度太慢from selenium import webdriverfrom selenium.webdriver.c原创 2017-06-03 02:08:22 · 3162 阅读 · 0 评论 -
python爬虫2-简单模拟用户登录
这里的简单模拟用户登录指的是不考虑验证码等除表单之外的信息用python实现登录与java类似,步骤如下1:通过工具找到登录页面的真实url2:分析需要提交的数据(这里不考虑除表单之外的信息)3:构建post请求信息4:设置cookie5:提交请求这里模拟的是chinaunix的登录首先实际登陆一次,用fidder得到post表单提交时候的真实url如下ht原创 2017-05-25 21:35:43 · 3019 阅读 · 0 评论 -
python爬虫初步-与java爬虫的比较
相比较java来说,python的http库类更佳丰富,用java需要几十行代码才能完成的事情,python往往只需要十几行,例如打开并且存储一个网页java代码:import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOE原创 2017-05-24 17:36:15 · 14962 阅读 · 2 评论 -
有道词典简易客户端
最近在学python,发现用python来实现爬虫类操作确实比java要简单许多有一节课是用python实现有道词典客户端的,就想用java实现以下,弄了半天总算弄好了,水平不高python代码import urllib.requestimport urllib.parseimport jsonimport timewhile True: url= "http...原创 2017-04-22 02:31:54 · 720 阅读 · 0 评论 -
基于大数据的房价分析--1.数据爬取
爬取数据用的是python2.6+scrapy爬虫框架,一开始我写的是一个全站爬虫,可以根据一个种子url爬取58同城所有房价信息,但有个问题就是必须使用代理IP,否则爬虫很快就会被封禁,于是我想了个办法就是在linux中每五分钟运行一次爬虫程序,每次只爬取一个城市的房价信息,代码如下1.spiders#encoding=utf-8import syssys.path.append("..")f原创 2017-12-10 17:09:09 · 3492 阅读 · 6 评论