鱼C论坛

 找回密码
 立即注册
查看: 2158|回复: 12

爬虫问题,pycharm运行

[复制链接]
发表于 2020-6-23 14:09:23 | 显示全部楼层 |阅读模式
30鱼币
本帖最后由 黑夜之惑 于 2020-6-24 10:13 编辑

import time
import json
import pandas as pd
import requests
import re
header = {'content-type': 'application/json; charset=utf-8', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'}
Cookie = {'Cookie': '_T_WM: 16302431710; WEIBOCN_FROM=1110006030; ALF: 1595143722; SUB: _2A25z6Bl7DeRhGeBN7FcS8CbMyD-IHXVREqczrDV6PUNbktANLVH9kW1NRCJy5XgYpfllO6KntJ0z9VlG3WS8Dk5B;SUBP: 0033WrSXqPxfM725Ws9jqgMF55529P9D9Wh-s9cYGJn3yMhQAD89z7Ve5JpX5KzhUgL.Foq0S0-0ehn7e0e2dJLoIpjLxK-LBo5LBo.LxKqL1-eL1h.LxKqLBozLB.zt; SUHB: 0auQfAd6YqJgiP; SSOLoginState=1592205572; MLOGIN=1; M_WEIBOCN_PARAMS: luicode%3D10000011%26lfid%3D102803%26fid%3D231522type%253D1%2526t%253D10%2526q%253D%2523%25E5%25A4%2596%25E4%25BA%25A4%25E9%2583%25A8%25E5%259B%259E%25E5%25BA%2594%25E4%25B8%25AD%25E5%258D%25B0%25E8%25BE%25B9%25E5%25A2%2583%25E5%2586%25B2%25E7%25AA%2581%2523%26uicode%3D10000011; XSRF-TOKEN: 49dc89'}
for ii in range(100):
    url_base = 'https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23%E5%A4%96%E4%BA%A4%E9%83%A8%E5%9B%9E%E5%BA%94%E4%B8%AD%E5%8D%B0%E8%BE%B9%E5%A2%83%E5%86%B2%E7%AA%81%23&extparam=%23%E5%A4%96%E4%BA%A4%E9%83%A8%E5%9B%9E%E5%BA%94%E4%B8%AD%E5%8D%B0%E8%BE%B9%E5%A2%83%E5%86%B2%E7%AA%81%23&luicode=10000011&lfid=102803&page_type=searchall'
    url = url_base + str(ii + 1)
    # print(url)
    html = requests.get(url, headers=header, cookies=Cookie)
    print(html.text)
    try:
        for jj in range(len(html.json()['data']['cards'])):
            print(html.json()['data']['cards'][jj]['mblog']['isLongText'])

            if not html.json()['data']['cards'][jj]['mblog']['isLongText']:
                data1 = [(html.json()['data']['cards'][jj]['mblog']['user']['id'],
                          html.json()['data']['cards'][jj]['mblog']['user']['screen_name'],
                          html.json()['data']['cards'][jj]['mblog']['reposts_count'],
                          html.json()['data']['cards'][jj]['mblog']['comments_count'],
                          html.json()['data']['cards'][jj]['mblog']['attitudes_count'],
                          html.json()['data']['cards'][jj]['mblog']['text'],
                          html.json()['data']['cards'][jj]['mblog']['created_at'],
                          html.json()['data']['cards'][jj]['mblog']['source'])]

            else:
                data1 = [(html.json()['data']['cards'][jj]['mblog']['user']['id'],
                          html.json()['data']['cards'][jj]['mblog']['user']['screen_name'],
                          html.json()['data']['cards'][jj]['mblog']['reposts_count'],
                          html.json()['data']['cards'][jj]['mblog']['comments_count'],
                          html.json()['data']['cards'][jj]['mblog']['attitudes_count'],
                          html.json()['data']['cards'][jj]['mblog']['longText']['longTextContent'],
                          html.json()['data']['cards'][jj]['mblog']['created_at'],
                          html.json()['data']['cards'][jj]['mblog']['source'])]
            data2 = pd.DataFrame(data1)
            data2.to_csv('微博评论.csv', header=False, index=False, mode='a+')
    except:
        print("抓取失败")
    print('page ' + str(ii + 1) + ' has done')
    time.sleep(3)

1、import json显示没有引用
2、try  except一直运行抓取失败

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 19:17:40 | 显示全部楼层
让我们自己提问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 20:13:43 | 显示全部楼层
??问题呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 21:00:59 From FishC Mobile | 显示全部楼层
suchocolate 发表于 2020-6-23 19:17
让我们自己提问题?

估计是代码有问题吧
咱也不知道,咱也问不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 22:24:46 | 显示全部楼层
Cookie直接写到headers里:
header = {'content-type': 'application/json; charset=utf-8',
          'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',
          'Cookie': '_T_WM: 16302431710; WEIBOCN_FROM=1110006030; ALF: 1595143722; SUB: _2A25z6Bl7DeRhGeBN7FcS8CbMyD-IHXVREqczrDV6PUNbktANLVH9kW1NRCJy5XgYpfllO6KntJ0z9VlG3WS8Dk5B;SUBP: 0033WrSXqPxfM725Ws9jqgMF55529P9D9Wh-s9cYGJn3yMhQAD89z7Ve5JpX5KzhUgL.Foq0S0-0ehn7e0e2dJLoIpjLxK-LBo5LBo.LxKqL1-eL1h.LxKqLBozLB.zt; SUHB: 0auQfAd6YqJgiP; SSOLoginState=1592205572; MLOGIN=1; M_WEIBOCN_PARAMS: luicode%3D10000011%26lfid%3D102803%26fid%3D231522type%253D1%2526t%253D10%2526q%253D%2523%25E5%25A4%2596%25E4%25BA%25A4%25E9%2583%25A8%25E5%259B%259E%25E5%25BA%2594%25E4%25B8%25AD%25E5%258D%25B0%25E8%25BE%25B9%25E5%25A2%2583%25E5%2586%25B2%25E7%25AA%2581%2523%26uicode%3D10000011; XSRF-TOKEN: 49dc89'
}

html = requests.get(url, headers=header)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-24 10:14:12 | 显示全部楼层
suchocolate 发表于 2020-6-23 19:17
让我们自己提问题?

抱歉,疏忽了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-24 10:15:17 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-24 10:28:19 | 显示全部楼层
suchocolate 发表于 2020-6-23 22:24
Cookie直接写到headers里:

不可以嗯,用了后requests也出问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-24 12:13:20 | 显示全部楼层
黑夜之惑 发表于 2020-6-24 10:28
不可以嗯,用了后requests也出问题了

我这里正常。
你的什么问题,报错现象和代码发出来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-24 14:01:48 | 显示全部楼层
if not html.json()['data']['cards'][jj]['mblog']['isLongText']:
这句之前加一个判断           
if not html.json()['data']['cards'][jj].get('mblog'):
     continue    #cards 里面不是所有的条目都符合后面的数据筛选
这个py 没有用到json模块 不用import , html.json 属于requests模块的函数
另外 这个网站的cookie似乎是不需要的 ,你可以试试看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-24 18:48:05 | 显示全部楼层
suchocolate 发表于 2020-6-24 12:13
我这里正常。
你的什么问题,报错现象和代码发出来。

C:\Users\yinyo\Desktop\图片\1
图片传上来了吗,我以前没弄过
try后面的数据输出出错了,现在我不知道改那里
代码就在最上面的帖子上了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-24 18:52:21 | 显示全部楼层
yifenyu 发表于 2020-6-24 14:01
if not html.json()['data']['cards'][jj]['mblog']['isLongText']:
这句之前加一个判断           
i ...

还是一样的抓捕失败了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-24 19:08:17 | 显示全部楼层
黑夜之惑 发表于 2020-6-24 18:48
图片传上来了吗,我以前没弄过
try后面的数据输出出错了,现在我不知道改那里
代码就在最上面的帖子 ...

最上面的贴子上里的代码还是cookie不在headers里,你把cookie挪到headers再试试。
另外报错发不出图片可以贴报错输出文本。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 11:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表