python爬取快手视频--json数据分析

打开快手主页,进行页面分析
在这里插入图片描述
对于快手这种平台,分析完页面代码之后,无任何想要的信息,所以,只能进行json数据的抓取,这些视频都是通过json语句传给前段,然后进行循环生成,所以,我们来看抓的json包
在这里插入图片描述
然后进行详情页链接分析
在这里插入图片描述
接下来看json数据
在这里插入图片描述
补充一下,这里由于页面刷新了,所以看到的两个链接不一样,方法就是这样的
然后拼接出来二级路径,进行访问详情页
在这里插入图片描述
最后在详情页按照常规方法进行分析页面爬取数据就行了
分享一下代码

import requests
from bs4 import BeautifulSoup
import json
import time

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36',
}

def first_get_request(first_request):
    first_data = json.loads(first_request.text)
    print(first_data)
    #进入第二层
    first_two_data = first_data['data']['videoFeeds']['list']
    for num in first_two_data:
        two_url = 'https://live.kuaishou.com/u/' + num['user']['id'] + '/' + num['photoId']
        # print(two_url)
        two_get_request(two_url)


def two_get_request(two_url):
    two_data = requests.get(url=two_url,headers=headers,verify=False)
    soup = BeautifulSoup(two_data.text,'lxml')
    #头像
    name_photo = soup.select('.profile-user img')[0]['src']
    #名字
    name = soup.select('.video-card-footer-user-name')[0].text
    #点赞量
    number = soup.select('.profile-user-count-info > .watching-count')[0].text
    #点心量
    num = soup.select('.profile-user-count-info > .like-count')[0].text
    #内容
    text = soup.select('.profile-user > .profile-user-desc > span')[0].text
    item = {
        '头像':name_photo,
        '名字':name,
        '内容':text,
        '点赞量':number,
        '点心量':num
    }
    with open('爬取的信息.txt','a',encoding='utf8') as f:
        f.write(str(item) + '\n')

   time.sleep(3)

def main():
    first_url = 'https://live.kuaishou.com/graphql'
    formdata = {
        "operationName": "videoFeedsQuery", "variables": {"count": 50, "pcursor": "50"},
        "query": "fragment VideoMainInfo on VideoFeed {\n  photoId\n  caption\n  thumbnailUrl\n  poster\n  viewCount\n  likeCount\n  commentCount\n  timestamp\n  workType\n  type\n  useVideoPlayer\n  imgUrls\n  imgSizes\n  magicFace\n  musicName\n  location\n  liked\n  onlyFollowerCanComment\n  width\n  height\n  expTag\n  __typename\n}\n\nquery videoFeedsQuery($pcursor: String, $count: Int) {\n  videoFeeds(pcursor: $pcursor, count: $count) {\n    list {\n      user {\n        id\n        eid\n        profile\n        name\n        __typename\n      }\n      ...VideoMainInfo\n      __typename\n    }\n    pcursor\n    __typename\n  }\n}\n"
    }
    #访问快手界面
    first_request = requests.post(url=first_url,headers=headers,data=formdata,verify=False)
    #分析首页链接
    first_get_request(first_request)

if __name__ == '__main__':
    main()

最后就找到了我们想要的东西,

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
新发地是中国北京市的蔬菜批发市场,每天都有大量的蔬菜价格行情更新。想要用Python爬取新发地的价格行情,可以通过以下几个步骤来实现。 首先,需要导入相关的Python库,包括requests和beautifulsoup库。requests库用于发送HTTP请求获取网页的内容,beautifulsoup库用于解析网页的内容。 接下来,需要分析新发地价格行情所在的网页结构。可以通过打开新发地的价格行情网页,查看网页的源代码来分析。一般来说,每个蔬菜的价格信息都会包含在一个HTML标签中,可以通过查找这个标签来筛选出所需的信息。 然后,使用Python编写代码来发送HTTP请求并获取价格行情网页的内容。可以使用requests库的get方法来发送GET请求,并使用其返回的response对象的text属性来获取网页的内容。 接着,使用beautifulsoup库来解析网页的内容。可以使用beautifulsoup库的BeautifulSoup类来初始化一个解析器对象,并使用其find_all方法来查找指的HTML标签。通过查找所需标签,可以获取到蔬菜的名称和对应的价格信息。 最后,将获取到的价格信息进行整理和格式化,并保存到文件中或者打印出来。 需要注意的是,爬取网页的过程中需要注意遵守相关的法律法规,并尊重网站的使用规则,不要对网站进行过多的频繁请求,以免给网站带来压力。 通过以上步骤,就可以用Python爬取新发地的价格行情了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值