其实这个是有客户要求做的,但我完成的不够完美。过来分享出来好了~

首先,你知道抖音有一个用户分享页吧?

F12查看代码。

ok,可以看到有数字的地方都做了字体反爬,比如抖音id上的数字啊,粉丝数这些。

那我们这样子,先把它的这个字体文件下载下来

在开发者工具中选择Network筛选font后刷新网页就能找到这个字体了,如下图:

然后复制链接到新窗口打开就能下载字体了。

这是我下到的字体

下一步就是去百度网页字体编辑器

然后选择打开,打开下载好的字体文件:

打开字体看到的效果:

看到没,在开发者工具哪里看得到,一个数字,其实是有三个unicode编码对应的。

那我们一个个保存下来这些对应关系就好了。

这是我保存下来的:

change = {('\ue602','\ue60E','\ue618'):'1',('\ue603','\ue60d','\ue616'):'0',('\ue604','\ue611','\ue61a'):'3',('\ue605','\ue610','\ue617'):'2',('\ue606','\ue60c','\ue619'):'4',('\ue607','\ue60f','\ue61b'):'5',('\ue608','\ue612','\ue61f'):'6',('\ue609','\ue615','\ue61e'):'9',('\ue60a','\ue613','\ue61c'):'7',('\ue60b','\ue614','\ue61d'):'8'}

ok,其实这个并不麻烦。麻烦的是怎么去获取链接后面那个id

分享链接的id获取的话我是抓客户端数据包拿到的,键是'uid'。

如果你有高效率的获取这个id的方法,欢迎过来分享,让我付费也行哦~

分享页爬取的完整代码:

importrequestsfrom bs4 importBeautifulSoup as bs

id= '86560737726'change= {('\ue602','\ue60E','\ue618'):'1',('\ue603','\ue60d','\ue616'):'0',('\ue604','\ue611','\ue61a'):'3',('\ue605','\ue610','\ue617'):'2',('\ue606','\ue60c','\ue619'):'4',('\ue607','\ue60f','\ue61b'):'5',('\ue608','\ue612','\ue61f'):'6',('\ue609','\ue615','\ue61e'):'9',('\ue60a','\ue613','\ue61c'):'7',('\ue60b','\ue614','\ue61d'):'8'}#将爬到的单个unicode编码放到这个函数会返回对应的数字

defchange_2_num(code):for i inchange:try:if code.split()[0] ini:returnchange[i]except:print('函数change_2_num出错',code.split())returncode#请求链接,返回soup对象

defget_html(id):

url= 'https://www.douyin.com/share/user/'+idprint(url)

headers= {"user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60"}

r= requests.get(url,headers=headers,verify=False)if not len(r.text)>10000:returnsoup= bs(r.text,'lxml')returnsoupdefget_num(name,attrs):

fin= ''res= soup.find_all(name=name,attrs={'class':attrs})ifres:

mid=res[0].text.split()#将获取的文本以空格切成列表,不切的话因为空格的存在会返回''而不是uincode编码

else:return

for code inmid:

fin+=change_2_num(code)#遍历文本内容,如果是unicode编码则返回对应数字

print(fin)returnfin

soup= ''

defmain():globalsoup

soup=get_html(id)if notsoup:return

try:

nickname= soup.find(name='p',attrs={'class':'nickname'}).stringprint(nickname )

signature= soup.find(name='p',attrs={'class':'signature'}).stringprint(signature)

dyID= get_num('p',"shortid").replace('抖音ID:','')

focus= get_num('span',"focus").replace('关注','')

follower= get_num('span',"follower").replace('粉丝','')

liked= get_num('span',"liked-num").replace('赞','')

works= get_num('div',"user-tab").replace('作品','')

like= get_num('div',"like-tab").replace('喜欢','')except:returnmain()

The end--

抖音爬取粉丝用户列表_抖音分享页用户信息爬取相关推荐

  1. python微信爬取教程_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  2. openstack用户列表_什么是OpenStack超级用户?

    openstack用户列表 什么是OpenStack超级用户? 或更恰当地说, 谁是OpenStack超级用户? 随着OpenStack不断成熟并逐渐进入生产环境,对用户的关注也在不断增长. 因此,为 ...

  3. java微信获取用户列表_微信公众平台 获取用户列表

    一.接口说明 公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成.一次拉取调用最多拉取10000个关注者的Open ...

  4. python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  5. python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  6. python爬取BT之家特定频道前5页电影信息(小白操作)

    python爬取BT之家特定频道前5页电影信息(小白操作) 想要爬的网页如下,希望得到BT之家恐怖频道的电影信息,并存档xls 代码如下 import requests,openpyxl wb=ope ...

  7. 抖音分享页用户信息爬取

    其实这个是有客户要求做的,但我完成的不够完美.过来分享出来好了~ 首先,你知道抖音有一个用户分享页吧? 像这样的:https://www.douyin.com/share/user/588416467 ...

  8. python爬取微博用户正文_基于Python的新浪微博用户信息爬取与分析

    基于 Python 的新浪微博用户信息爬取与分析 邓文萍 [摘 要] 摘要:本文设计并实现了一个微博用户信息爬取与分析系统 , 利用 Cookie 实现了用户的模拟登录 , 使用 Python 语言的 ...

  9. 抖音怎么在电脑上看_抖音电脑直播权限怎么开通?抖音直播伴侣怎么操作?一文全解...

    我们都知道,在这个全民直播的时代,只需要一部手机就能随时随地开直播. 然而很多人在直播时都会遇到这样的问题: 手机直播画面不清晰:网速不给力,直播间人一多就卡出马赛克:手机硬件不够好,声音画面不同步. ...

最新文章

  1. 转 使用 HttpClient 4 进行文件上传
  2. html5支持原生js,HTML5怎么学原生的js?让你对前端有了新的认识
  3. SpringBoot自动配置【源码分析】-初始加载自动配置类
  4. Ubuntu+vscode打不开
  5. 在JavaScript中以日期/月/年格式获取当前日期
  6. 我的城市,我的汽车:Autoblog 摄影大赛
  7. 一、STM32启动文件详细解析
  8. 鸿蒙生态与苹果生态有什么区别,华为想用鸿蒙统一生态,苹果直接用芯片大一统,走到华为前面?...
  9. 老司机带你用python爬取妹子图,接稳这波福利
  10. 遇见phpDesigner我笑了 PHP开发利器
  11. 判断合法标识符(c语言或c++)
  12. KTV房间一直显示连接服务器失败,KTV点歌服务器死机、卡歌、蓝屏的解决办法
  13. Fcitx使用搜狗词库与皮肤
  14. SpringBoot系列 - 使用AOP
  15. 如何同时或者按顺序间隔启动多个程序
  16. html 各浏览器兼容性
  17. echarts实现自定义扩展地图-中国七大区域图
  18. 【原创】【SPI】SPI通信协议介绍
  19. 人物专访|大家好,我是橡树,研究车联网安全
  20. flutter video_thumbnail #获取视频封面

热门文章

  1. 深度学习编译器Data Flow和Control Flow
  2. TVM yolov3优化代码修改(编译运行OK)
  3. Git基本命令和GitFlow工作流
  4. 零起点学算法10——求圆柱体的表面积
  5. Java map 知识
  6. python 判断字典是否包含某个key,以及对应的value 值
  7. Python 元组的使用
  8. Android CheckBox 点击的时候没有效果
  9. 在Andoird studio 中用代码实现setId报错,而在ecplise中可以,的处理方法
  10. 使用Java监控工具出现 Can't attach to the process