Python大数据:外部数据获取(网页抓取)
import urllib2 as url
import cookielib,StringIO,gzip,json
import pandas as pd
import numpy as np #定义一个通用函数,用于抓取指定商品的指定页评论
def GetPage(link, page):
# 伪造请求头
req=url.Request(link)
req.add_header("Cookie","ykjjdc=jjcc=e94cc85e72c94e55a098c78e19d979e4&jjcs=1&jjst=0; UM_distinctid=1609c238cf0111-0e3a4ab84d1fdf-6b1b1279-13c680-1609c238cf164f; CNZZDATA4396285=cnzz_eid%3D1644510205-1514443813-%26ntime%3D1514443813; Hm_lvt_f38eafa6ecbff460f93b98423ef80584=1514448064; Hm_lpvt_f38eafa6ecbff460f93b98423ef80584=1514448087; Hm_lvt_06b2a1ee40cb8f7fbd2546dfc4bfaa8c=1514448064; Hm_lpvt_06b2a1ee40cb8f7fbd2546dfc4bfaa8c=1514448087")
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36")
req.add_header("Upgrade-Insecure-Requests","")
req.add_header("Accept","*/*")
req.add_header("Accept-Encoding","gzip, deflate, sdch")
req.add_header("Accept-Language","zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4")
req.add_header("Cache-Control","no-cache")
req.add_header("Connection","keep-alive")
req.add_header("Pragma","no-cache")
req.add_header("Upgrade-Insecure-Requests","") # 发送请求
f=url.urlopen(req) # 读取返回的数据流
s=f.read() #数据流解压缩
compressedstream = StringIO.StringIO(s)
gzipper = gzip.GzipFile(fileobj=compressedstream) # 数据流编码格式转换
content = gzipper.read()
#只保留列表部分
startPos = content.index("<ul class=\"Sec_lul01\">")
endPos = content.index("<div class=\"Sec_lright01\">")
content = content[startPos:endPos]
content = content.replace("\r\n","").replace(" "," ") return content print GetPage("http://www.jjw.com/ershoufang",1)
Python大数据:外部数据获取(网页抓取)的更多相关文章
- Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取
		区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ... 
- Python开发爬虫之静态网页抓取篇:爬取“豆瓣电影 Top 250”电影数据
		所谓静态页面是指纯粹的HTML格式的页面,这样的页面在浏览器中展示的内容都在HTML源码中. 目标:爬取豆瓣电影TOP250的所有电影名称,网址为:https://movie.douban.com/t ... 
- 写论文,没数据?R语言抓取网页大数据
		写论文,没数据?R语言抓取网页大数据 纵观国内外,大数据的市场发展迅猛,政府的扶持也达到了空前的力度,甚至将大数据纳入发展战略.如此形势为社会各界提供了很多机遇和挑战,而我们作为卫生(医学)统计领域的 ... 
- Python实现简单的网页抓取
		现在开源的网页抓取程序有很多,各种语言应有尽有. 这里分享一下Python从零开始的网页抓取过程 第一步:安装Python 点击下载适合的版本https://www.python.org/ 我这里选择 ... 
- Python爬虫之三种网页抓取方法性能比较
		下面我们将介绍三种抓取网页数据的方法,首先是正则表达式,然后是流行的 BeautifulSoup 模块,最后是强大的 lxml 模块. 1. 正则表达式 如果你对正则表达式还不熟悉,或是需要一些提 ... 
- Python之HTML的解析(网页抓取一)
		http://blog.csdn.net/my2010sam/article/details/14526223 --------------------- 对html的解析是网页抓取的基础,分析抓取的 ... 
- python网络爬虫-动态网页抓取(五)
		动态抓取的实例 在开始爬虫之前,我们需要了解一下Ajax(异步请求).它的价值在于在与后台进行少量的数据交换就可以使网页实现异步更新. 如果使用Ajax加载的动态网页抓取,有两种方法: 通过浏览器审查 ... 
- Python网络爬虫笔记(一):网页抓取方式和LXML示例
		(一) 三种网页抓取方法 1. 正则表达式: 模块使用C语言编写,速度快,但是很脆弱,可能网页更新后就不能用了. 2. Beautiful Soup 模块使用Python编写,速度慢. ... 
- python网络爬虫-静态网页抓取(四)
		静态网页抓取 在网站设计中,纯HTML格式的网页通常被称之为静态网页,在网络爬虫中静态网页的数据比较容易抓取,因为说有的数据都呈现在网页的HTML代码中.相对而言使用Ajax动态加载的玩个的数据不一定 ... 
- 基于Casperjs的网页抓取技术【抓取豆瓣信息网络爬虫实战示例】
		CasperJS is a navigation scripting & testing utility for the PhantomJS (WebKit) and SlimerJS (Ge ... 
随机推荐
- 如果分配给命令的连接位于本地挂起事务中,ExecuteNonQuery 要求命令拥有事务。命令的 Transaction 属性尚未初始化
			DbConnection dbc = database.CreateConnection(); DbTransaction dbtt = null; try { dbc.Open(); dbtt = ... 
- javascript -- js正则表达式
			正则表达式可以: 1.测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 2.替换文本.可以在文档中使用一个正则 ... 
- android 自定义照相机Camera黑屏  (转至 http://blog.csdn.net/chuchu521/article/details/8089058)
			对于一些手机,像HTC,当自定义Camera时,调用Camera.Parameters的 parameters.setPreviewSize(width, height)方法时,如果width和hei ... 
- ojdbc14.jar 放在kettle那个目录下面
			\libext\edtftpj-1.4.5.jar \libext\firebirdsql-full.jar \libext\firebirdsql.jar \libext\gis-shape.jar ... 
- Getting SharePoint objects (spweb, splist, splistitem) from url string
			You basically get anything in the object model with one full url: //here is the site for the url usi ... 
- Systemd on ubuntu
			何为 systemd? systemd 是一个 Linux 下的系统和会话管理器,与 SysV 和 LSB 启动脚本兼容.systemd 提供了积极的并行处理能力,使用套接字(socket)和 D-b ... 
- css常用代码含义
			1.font:12px Arial, Helvetica, sans-serif: 使用了缩写,完整的代码应该是:font-size:12px; font-family:Tahoma:说明字体为12像 ... 
- 工作流JBPM_day01:6-执行流程实例
			工作流JBPM_day01:6-执行流程实例 执行流程 启动流程实例 查询任务列表 办理任务 向后执行一步 先部署流程定义在启动流程实例 Jbpm4_execution表表示正在执行的流程实例的的信息 ... 
- day03<Java语言基础+>
			Java语言基础(逻辑运算符的基本用法) Java语言基础(逻辑运算符&&和&的区别) Java语言基础(位运算符的基本用法1) Java语言基础(位异或运算符的特点及面试题) ... 
- NPOI抓取WPS表格保存的EXCEL文件
			其实是可以抓取的,唯一不同就是Sheet的位置前进了一位. var sheet1 = (HSSFSheet)hssfworkbook.GetSheetAt(1); 来自为知笔记(Wiz ... 
