初识python之 APP store排行榜 蜘蛛抓取(一)

直接上干货!!

采用python 2.7.5-windows

打开 http://www.apple.com/cn/itunes/charts/free-apps/ 

如上图可以见采用的是utf-8 编码

经过一番思想斗争  编码如下 (拍砖别打脸)

#coding=utf-8
import urllib2
import urllib
import re
import thread
import time

#----------- APP store 排行榜 -----------
class Spider_Model:    

    def __init__(self):
        self.page = 1
        self.pages = []
        self.enable = False    

    def GetCon(self):
        myUrl = "http://www.apple.com/cn/itunes/charts/free-apps/"
        user_agent = ‘Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)‘
        headers = { ‘User-Agent‘ : user_agent }
        req = urllib2.Request(myUrl, headers = headers)
        myResponse = urllib2.urlopen(req)
        myPage = myResponse.read()
        #encode的作用是将unicode编码转换成其他编码的字符串
        #decode的作用是将其他编码的字符串转换成unicode编码
        print myPage

print ‘ ‘
myModel = Spider_Model()
myModel.GetCon()

  采集页面字符集 python文件字符集统一为utf-8 (贫蛋哥是认为没啥问题的)

  打印输出结果:

                

拿出杀手锏   www.baidu.com

找到原因:

        http://blog.csdn.net/lf8289/article/details/2465196

        http://www.crifan.com/unicodeencodeerror_gbk_codec_can_not_encode_character_in_position_illegal_multibyte_sequence/

  各种狂改中.......

        

#coding=gbk   编码修改为gbk
import urllib2
import urllib
import re
import thread
import time

#----------- APP store 排行榜 -----------
class Spider_Model:    

    def __init__(self):
        self.page = 1
        self.pages = []
        self.enable = False    

    def GetCon(self):
        myUrl = "http://www.apple.com/cn/itunes/charts/free-apps/"
        user_agent = ‘Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)‘
        headers = { ‘User-Agent‘ : user_agent }
        req = urllib2.Request(myUrl, headers = headers)
        myResponse = urllib2.urlopen(req)
        myPage = myResponse.read()
        #encode的作用是将unicode编码转换成其他编码的字符串
        #decode的作用是将其他编码的字符串转换成unicode编码
        unicodePage = myPage.decode(‘utf-8‘).encode(‘gbk‘,‘ignore‘) #采集页面编码为utf-8  转为 gbk (ignore来忽略非法的字符)

     print unicodePage 
    print ‘ ‘     myModel = Spider_Model()     myModel.GetCon()

  运行结果:

            

初识python之 APP store排行榜 蜘蛛抓取(一),布布扣,bubuko.com

时间: 2024-08-03 03:11:46

初识python之 APP store排行榜 蜘蛛抓取(一)的相关文章

初识python之 APP store排行榜 蜘蛛抓取(二)

#-*- coding: utf-8 -*- import urllib2 import urllib import re import time import MySQLdb import time,datetime #from datetime import date #----------- APP store 排行榜 ----------- class Spider_Model: def __init__(self): self.page = 1 self.pages = [] self

初识python之 APP store排行榜 蜘蛛抓取(三) ---多线程版

#coding=utf-8 import time import urllib2 import Queue import threading import xml.dom.minidom import MySQLdb #获取数据 def get_appstop_data(url): myurl = url user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers={ 'User-Agent' : user_agen

python自然语言处理1——从网络抓取数据

python自然语言处理1--从网络抓取数据 写在前面 本节学习python2.7 BeautifulSoup库从网络抽取数据的技术,检验之简而言之就是爬虫技术.网络编程是一门复杂的技术,在需要基础的地方,文中给出的链接地址,都是很好的教程,可以参考,我在这里不在重复发明轮子.本节的主旨在于: 帮助快速掌握基本爬虫技术,形成一条主线,能为自己的实验构造基础数据.掌握爬虫技术后,可以从网络抓取符合特定需求的数据供分析,这里学习的爬虫技术适用于数据挖掘.自然语言处理等需要从外部挖掘数据的学科. 1.

盘点网站优化过程中影响蜘蛛抓取的因素

一个网站的优化效果好不好,最直接了当最明显的因素就是看网站的收录情况.通常情况下网站收录的内容越多,网站的排名和权重就会越高,其网站的运营就越成功,优化效果就好.要想让网站更多页面被收录,就要想方设法的吸引搜索引擎蜘蛛来抓取页面,那么哪些因素影响蜘蛛抓取页面呢?根据最近的学习,为大家总结了以下几点常见因素.首先.网站和页面权重.站长们都知道,一般网站质量高.时间久的网站,权重都比较高,搜索引擎蜘蛛过来抓取的次数就比较频繁.这种网站上的页面被爬行的深度也会比较高,收录也会很多. 第二.网站的更新频

蜘蛛抓取网站的时候,抓取了不存在的页面

SEOer需要经常查看网站的服务器日志,从而掌握蜘蛛爬取了我们网站的什么地方,哪个页面.但是有时候却发现蜘蛛爬取了一些我们网站并不存在的页面,今天SEO教程就讲解下为什么百度蜘蛛会爬取我们网站没有的页面. 1.蜘蛛是怎么发现我们网站的链接的? 我们都知道,蜘蛛是沿着链接爬来爬去的,他会自动提取网站中所有的链接,保存入库,然后进行爬取,这也就是为什么我们觉得网站的收录少了或者刚发布的文章没 有被收录,我们就会说"引蜘蛛"了,其实引蜘蛛就是发外链了,当这条链接呗蜘蛛发现之后,他就会进行爬取

Python爬虫--2019大学排名数据抓取

Python爬虫--2019大学排名数据抓取 准备工作 输入:大学排名URL连接 输出:大学排名信息屏幕输出 所需要用到的库:requests,bs4 思路 获取网页信息 提取网页中的内容并放到数据结构中 利用数据结构展示并输出结果 程序设计 定义函数getHTMLText()获取网页信息 定义函数UnivList()放入数据结构 定义函数printUnivList()输出到屏幕 总体而言: 写出需要自定义的函数,制作出总体的框架 写出主函数框架,实现功能 最后调用函数 步骤 查看url源代码

Python+Selenium实现股票板块数据模拟抓取

selenium 是一个web的自动化测试工具,支持多平台:windows.linux.MAC ,支持多浏览器:ie.ff.safari.opera.chrome,支持多语言:例如C.JAVA.Python等,支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能. 虽然Selenium本来是应用于自动化测试领域,但是因为Selenium可以实现Web交互操作,所以可以利用Selenium模拟Web抓取一些常规方式不能抓取的数据,例如一些页面生成后才会动态加载的数

Python中的urlparse、urllib抓取和解析网页(一)

对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览器就能够解析和处理HTML文档.本文将详细介绍如何利用Python抓取和解析网页.首 先,我们介绍一个可以帮助简化打开位于本地和Web上的HTML文档的Python模块,然后,我们论述如何使用Python模块来迅速解析在HTML文 件中的数据,从而处理特定的内容,如链接.图像和Cookie等.最后,

[python]利用selenium模拟用户操作抓取天猫评论数据

准备: python3.5 安装selenium包 第一种方法: cmd里输pip install selenium,但是经常报错 第二种方法: 下载安装包-cmd进入解压路径-python setup.py install-报错permission denied-右键安全更改报错文件夹权限为完全控制-再次安装成功unknown error: unable to discover open pages-下载chromedriver放在环境变量目录下测试自动打开百度时提示"您使用的是不受支持的命令