python爬取微博信息为何没有page_微博爬虫爬取不了内容,但也没报错?报错-问答-阿里云开发者社区-阿里云...

#--coding:utf-8--

from future import unicode_literals

import re

import string

import sys

import os

import urllib

import urllib2

from bs4 import BeautifulSoup

import requests

from lxml import etree

reload(sys)

sys.setdefaultencoding('utf-8')

if(len(sys.argv)>=2):

user_id = (int)(sys.argv[1])

else:

user_id = (int)(raw_input(u"请输入user_id: "))

cookie = {"Cookie": "_T_WM=bfc9acc2453f38c7918543adde71e149; SUB=_2A2570Uu8DeTxGeRP7loW9CzJzjyIHXVZOlX0rDV6PUJbstBeLRGkkW1LHeuMqByHABJ4Pg9fO0pKBInfW3sXkg..; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WWa82iK2FnOle3WX6YeyUBY5JpX5o2p; SUHB=02M-mff17Gtg3L; SSOLoginState=1456815084; gsid_CTandWM=4uTvCpOz5hRZGjMr5cGdP93Aq8S"}

url = 'http://weibo.cn/u/%d?filter=1&page=1'%user_id

html = requests.get(url, cookies = cookie).content

selector = etree.HTML(html)

pageNum = (int)(selector.xpath('//input[@name="mp"]')[0].attrib['value'])

result = ""

urllist_set = set()

word_count = 1

image_count = 1

print u'爬虫准备就绪...'

for page in range(1,pageNum+1):

#获取lxml页面

url = 'http://weibo.cn/u/%d?filter=1&page=%d'%(user_id,page)

lxml = requests.get(url, cookies = cookie).content

#文字爬取

selector = etree.HTML(lxml)

content = selector.xpath('//span[@class="ctt"]')

for each in content:

text = each.xpath('string(.)')

if word_count>=4:

text = "%d :"%(word_count-3) +text+"\n\n"

else :

text = text+"\n\n"

result = result + text

word_count += 1

#图片爬取

soup = BeautifulSoup(lxml, "lxml")

urllist = soup.find_all('a',>   first = 0

for imgurl in urllist:

urllist_set.add(requests.get(imgurl['href'], cookies = cookie).url)

image_count +=1

fo = open("E:/%s"%user_id, "wb")

fo.write(result)

word_path=os.getcwd()+'/%d'%user_id

print u'文字微博爬取完毕'

link = ""

fo2 = open("E:/%s_imageurls"%user_id, "wb")

for eachlink in urllist_set:

link = link + eachlink +"\n"

fo2.write(link)

print u'图片链接爬取完毕'

if not urllist_set:

print u'该页面中不存在图片'

else:

#下载图片,保存在当前目录的pythonimg文件夹下

image_path=os.getcwd()+'/weibo_image'

if os.path.exists(image_path) is False:

os.mkdir(image_path)

x=1

for imgurl in urllist_set:

temp= image_path + '/%s.jpg' % x

print u'正在下载第%s张图片' % x

try:

urllib.urlretrieve(urllib2.urlopen(imgurl).geturl(),temp)

except:

print u"该图片下载失败:%s"%imgurl

x+=1

print u'原创微博爬取完毕,共%d条,保存路径%s'%(word_count-4,word_path)

print u'微博图片爬取完毕,共%d张,保存路径%s'%(image_count-1,image_path)

一直卡在这里,望指教!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值