吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7323|回复: 11
收起左侧

[Python 原创] 【Python】手把手教你撸acfun

[复制链接]
Ls雷 发表于 2018-5-18 09:36
本帖最后由 wushaominkk 于 2018-5-18 10:13 编辑

1、首先我们进入http://www.acfun.cn/找个模块进去这里我选择http://www.acfun.cn/v/list134/index.htm
2、首先分析一下这个网站发现点击上一页下一页URL不会变,ajax没差了然后想到ajax传输数据的方式,json,xml。。。然后我们右键检查打开下方network重新请求一次网站
3、在里面找json或者xml的传输数据不负所望,acfun没有进行加密ps:上次搞了一欧美网站现在还没有找到数据js 里面写了一堆加密mmp,坑爹
4、打开http://www.acfun.cn/list/getlist?channelId=107&sort=0&pageSize=20&pageNo=1 这个json数据
5、开始写代码
6、setting:
[Asm] 纯文本查看 复制代码
ROBOTSTXT_OBEY = False
COOKIES_ENABLED = False
DEFAULT_REQUEST_HEADERS = {
    "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "Accept-Encoding":"gzip, deflate",
    "Accept-Language":"zh,zh-CN;q=0.9,en;q=0.8,zh-HK;q=0.7,zh-TW;q=0.6",
    "Cache-Control":"max-age=0",
    "Cookie":" uuid=6edda4075f779950c5b82eaae21ff04b; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221636bb7d3b4a14-0c9ec1c2aceb0b-f373567-1fa400-1636bb7d3b53b%22%7D; Hm_lvt_2af69bc2b378fb58ae04ed2a04257ed1=1526520600; Hm_lpvt_2af69bc2b378fb58ae04ed2a04257ed1=1526521712",
    "Host":"www.acfun.cn",
    "Proxy-Connection":"keep-alive",
    "Upgrade-Insecure-Requests":"1",
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'

}
ITEM_PIPELINES = {
   'Acfun.pipelines.AcfunPipeline': 300,
}

这些东西主要是为了设置一些反扒的东西,浏览器头乱七八糟的这里我就不细说了
---------------
items里面设置我们需要的字段
[Python] 纯文本查看 复制代码
    # 作者昵称
    names = scrapy.Field()
    # 播放主题
    titles = scrapy.Field()
    # 发布时间
    times = scrapy.Field()
    # 视频连接
    video_link = scrapy.Field()
    # 作者空间
    homeb = scrapy.Field()
    # 播放次数
    numbers = scrapy.Field()

-----------------
开始写你的蜘蛛
[Python] 纯文本查看 复制代码
import json

import scrapy

from Acfun.items import AcfunItem


class Acfu2Spider(scrapy.Spider):
    name = 'acfu2'
    allowed_domains = ['acfun.cn']
    offset = 1
    url = 'http://www.acfun.cn/list/getlist?channelId=107&sort=0&pageSize=20&pageNo='
    start_urls = [url+str(offset)]

    def parse(self, response):
        # 此处获取返回的文本
        json_text = response.text
        # 因为我们会去的文本是json数据所以首先我们要转成Python对象就是dict字典
        dict_python = json.loads(json_text, encoding='utf-8')
        # 然后我们取的数据是data下面的data里面的数据
        content = dict_python['data']['data']
        for e in content:
            item = AcfunItem()
            # 获取连接
            urls = 'http://www.acfun.cn' + e.get('link')
            # 获取番剧主题
            ac_title = e.get('title')
            # 获取作者昵称
            ac_name = e.get('username')
            # 获取发布时间
            ac_time = e.get('contributeTimeFormat')
            # 获取作者的空间连接
            ac_home = e.get('userUrl')
            # 获取播放次数
            ac_nums = e.get('viewCountFormat')

            item['names'] = ac_name
            item['titles'] = ac_title
            item['times'] = ac_time
            item['video_link'] = urls
            item['homeb'] = ac_home
            item['numbers'] = ac_nums
            yield item
        # 这里设置的翻页,因为这个模块一共774页不能超过,超过就没数据了
        if self.offset < 774:
            self.offset += 1
            url = self.url + str(self.offset)
            # 回掉把url返回给parse函数重新请求
            yield scrapy.Request(url,callback=self.parse)

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


完事了,我们看一下成品

{"names": "穆斯塔法", "titles": "【多素材/燃】直到最后", "times": "2018-05-17 09:34:07", "video_link": "http://www.acfun.cn/v/ac4359240", "homeb": "http://www.acfun.cn/u/265938.aspx", "numbers": 433}

免费评分

参与人数 4吾爱币 +5 热心值 +4 收起 理由
731255374 + 1 + 1 我很赞同!
june_fj + 1 + 1 谢谢@Thanks!
麦米尔加弗德 + 1 + 1 用心讨论,共获提升!
wushaominkk + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

back_up 发表于 2018-5-18 09:53
谢谢分享
唯我独宅 发表于 2018-5-18 09:57
wushaominkk 发表于 2018-5-18 10:14
charles5272 发表于 2018-5-18 10:25
动手试一下,看看效果怎么样
s3nake 发表于 2018-5-18 10:27
图文并茂,太好了,谢谢分享
happynocn 发表于 2018-5-18 10:43
前来学习一下,谢谢分享。
灵梦九天 发表于 2018-5-18 10:45
A站  可以可以
无的世界零 发表于 2018-5-18 10:59
所以具体是有什么效果的。。
pmc 发表于 2018-5-18 12:17
完了,我又不知道是干嘛的,好尴尬哟
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 15:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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