简单的新浪微博爬虫-Python版-(下载部分)---(上)

第一次写博客,mark一下。

以前没写过技术分享博客也是因为没什么好分享的,现在觉得有些经验和思考过程还是值得记录下来的;一则便于以后查阅,二则如果能给别人带来些许帮助,则无比幸甚。

这次是因为工作需要做一些市场声量的分析,需要爬取一些论坛内容,微博内容做数据分析,懒得找其他盈利性的网站购买,就自己研究了一下Python 爬虫,写出来一个小小的爬虫

爬虫主要分两大部分:

1,下载网页功能(就是把网页内容以html格式保存在txt文 本中)

2,从保存文本中解析出想要的内容(主要是用到BeautifulSoup,用过的都说好!新手提示:注意大小写!)

其它:其实爬虫的主要功能实现还是很简单的,因为主要任务不在获取数据上,对爬虫的学习只是一个入门,这里只是想要分享一下经验,代码。

主要是图个方便,代码很丑,不要笑话

-------------------------------------------------------------------

下面是爬虫的下载网页功能的代码:

简单解释一下工作原理:获取需要下载的url(一般我都是按照规则生成的)-->发起请求(带上cookies)-->保存返回的数据到指定目录下

#-*-coding;utf-8-*-
import requests,re,time,datetime
from bs4 import BeautifulSoup
cook={"Cookie":"#your cookies#"}
def main_load(url,sleeptime):  #主下载函数
    time.sleep(sleeptime)
    try:
        html=requests.get(url,cookies=cook).content  #获得请求结果
        path=‘D:\\weibo\\movie\\cyx+dy‘              #保存下载内容到你指定的文件目录
        name=re.findall(r‘(?<=keyword=).*‘,url)[0]   #截取url的一部分作为文件名
        filename=path+‘\\‘+name+‘.txt‘
        r=open(filename,‘w‘)
        r.write(html)
        r.close()
        return True
    except:
        return False
def auto_get(url,main_load,shleeptime=3):          #如果请求不成功就等待一段时间,再次发起请求
    while not main_load(url,shleeptime):
        if shleeptime>20:
            break
        shleeptime += 5
        print ‘enlarge sleep time:‘+str(shleeptime)    

for i in range(1,4):                               #在网页中搜索结果,获得一个链接url,替换下面这个url,让
    #url=‘ime=20150101&endtime=20160501&sort=time&page=‘+str(i)
    url1=‘http://weibo.cn/search/mblog?hideSearchFrame=&keyword=%E9%AA%91%E8%A1%8C+%E7%88%B1%E6%83%85+%E5%85%AC%E8%B7%AF&advancedfilter=1&starttime=20150101&endtime=20160530&sort=time&page=1‘
    print auto_get(url,main_load,shleeptime=3)

  几点说明:

1,我使用的验证方式是cookie,所以要使用这个爬虫程序必须获得自己的cookies,最开始我是想模拟登陆的,后来弄不起来就放弃了,直接用cookies省事。cookie可以在ie浏览器的临时文件夹中找到,有点坑。我是直接从

2,新浪微博wap端的搜索结果页面是有规则的,基本就是“固定开头+keyword+开始时间+结束时间+页数“的格式,本来这个过程是可以通过参数传递在请求中实现的,我太懒了。简单点就自己点下高级搜索,选好时间关键字,搜索出结果选下一页,在浏览器地址栏就能看见通用的地址格式了。其实只要换一下keyword就行了,中间那串“%E9%AA%91%E8“其实就是搜索关键字。

这个爬虫很丑,但是基本满足我自己的需求了。

后续:新浪微博wap只返回搜索的前100页,大概只有1000条结果,所以如果搜索内容太多后面的部分就没法获取了。我的解决办法就是缩短搜索日期,比如按月搜索。

时间: 2024-08-07 04:23:36

简单的新浪微博爬虫-Python版-(下载部分)---(上)的相关文章

百度图片爬虫-python版-如何爬取百度图片?

上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://5912119.blog.51cto.com/5902119/1771391 这一篇我想写写如何爬取百度图片的爬虫,这个爬虫也是:搜搜gif(在线制作功能点我) 的爬虫代码,其实爬虫整体框架还是差不多的,但就是会涉及到图片的的一些处理,还是花费了我不少时间的,所以我请阅读的本爬虫的孩子还是认真一些,毕竟程序猿都不容易啊.好的,我也不想多说,爬虫的代码我会分享到去转盘网,想下载本爬虫代码的孩子请点我下载,如果没有下

《大话设计模式》——简单工厂模式(Python版)

简单工厂模式(Simple Factory Pattern):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 例: 使用Python设计一个控制台计算器,要求输入两个数和运算符号,得到运算结果. 1. 初学者写法 class Operation(object): def __init__(self): pass def conver_strNumber(self, strNumber): ''' 将字符串格式的数字,转化成对应格式的数字 :param strNum

纯手工打造简单分布式爬虫(Python)

前言 这次分享的文章是我<Python爬虫开发与项目实战>基础篇 第七章的内容,关于如何手工打造简单分布式爬虫 (如果大家对这本书感兴趣的话,可以看一下 试读样章),下面是文章的具体内容. 本章讲的依旧是实战项目,实战内容是打造分布式爬虫,这对初学者来说,是一个不小的挑战,也是一次有意义的尝试.这次打造的分布式爬虫采用比较简单的主从模式,完全手工打造,不使用成熟框架,基本上涵盖了前六章的主要知识点,其中涉及分布式的知识点是分布式进程和进程间通信的内容,算是对Python爬虫基础篇的总结. 现在

Notepad++搭建Python简单开发环境(nppexec插件版)

Notepad++搭建Python简单开发环境(nppexec插件版)  原地址:http://blog.sina.com.cn/s/blog_55eb21950101daty.html 1.打开Notepad++,选择菜单Plugin(插件)->Plugin Manager->Show Plugin Manager,打开插件管理器,在”Available”选项卡中找到NppExec2.勾选NppExec,然后Install,下载完成后,一切Yes,OK3.重新启动Notepad++,NppE

python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器

python之simplejson,Python版的简单. 快速. 可扩展 JSON 编码器/解码器 simplejson Python版的简单. 快速. 可扩展 JSON 编码器/解码器 编码基本的 Python 对象层次结构: import simplejson as json print json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) print json.dumps("\"foo\bar") print json

python实现的一个简单的网页爬虫

学习了下python,看了一个简单的网页爬虫:http://www.cnblogs.com/fnng/p/3576154.html 自己实现了一个简单的网页爬虫,获取豆瓣的最新电影信息. 爬虫主要是获取页面,然后对页面进行解析,解析出自己所需要的信息进行进一步分析和挖掘. 首先需要学习python的正则表达式:http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html 解析的url:http://movie.douban.com/ 查看

最新Python新浪微博爬虫2014-07

之前微博的登陆密码加密是三层sha1算法,现在更改为rsa2算法 下面是python脚本,并把首页账号首页微博抓取下来. 亲测可行. #! /usr/bin/env python # -*- coding: utf-8 -*- import sys import urllib2 import urllib import json import re import base64 import hashlib import rsa import binascii import cookielib b

python写的简单有效的爬虫代码

python写的简单有效的爬虫代码 by 伍雪颖 import re import urllib def getHtml(url): html = urllib.urlopen(url) scode = html.read() return scode def getImage(source): reg = r'src="(.*?\.jpg)"' imgre = re.compile(reg) images = re.findall(imgre,source) x = 0 for i

网络爬虫-Python和数据分析(高清版)PDF

网络爬虫-Python和数据分析(高清版)PDF百度网盘链接:https://pan.baidu.com/s/1AP6aYNcwTNR_mXs_M4lfYg 提取码:dpu4 复制这段内容后打开百度网盘手机App,操作更方便哦 原文地址:http://blog.51cto.com/12650227/2331450