天赋宝宝 2022-01-08 13:38 采纳率: 100%
浏览 87
已结题

1月10日更,刚接触爬虫,遇到了一些困难

img


个人不是计算机专业,因为兴趣学了一段时间的网络爬虫,所以写的代码可能比较粗糙,还请老师们多多指教。
这次想拿马云的微博进行爬虫试试手,可是发现微博的下滑是懒加载的,而且下滑一段距离他的刷新也是随机的

img


因为昨天在爬虫时候,每次爬回来的数据只有一小部分而已,而且只是当前视图的内容。就推测他随着下滑刷新,新内容会代替掉就内容,旧内容就没办法没爬到。
现在请教一下各位老师们,代码应该怎么改才好
————————————————————————————
2022年1月10日
现在代码改用通过接口模拟请求的方式

img


可是不知道要怎么解析,接口我打开过是这样

img


用了json解析不了,不知道哪里错了,beautifulsoup解析出来是乱码

img

  • 写回答

3条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-01-08 13:52
    关注

    selenium是可以通过运行js语句下滑页面的,
    例如

    from selenium import webdriver
     
    driver=webdriver.Chrome()
     
    driver.get('https://blog.csdn.net/maybe_frank/article/details/79374866')
     
    i=100
     
    for i in range(2,90):   #也可以设置一个较大的数,一下到底
        js = "var q=document.documentElement.scrollTop={}".format(i*100)  #javascript语句
        driver.execute_script(js)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • touero 2022-01-09 15:39
    关注

    1、可以通过network查看动态网页fetch和xhr出现数据的url进行爬取
    2、通过selenium模拟访问实现爬取,这种方法较为安全

    评论
  • Mint.Coder 2022-01-09 22:51
    关注

    下滑加载的应该是ajax,也就是通过接口返回json协议的数据,然后通过js写入页面,你直接找到接口请求模拟网络协议请求就好

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月23日
  • 已采纳回答 1月15日
  • 修改了问题 1月10日
  • 修改了问题 1月10日
  • 展开全部

悬赏问题

  • ¥100 QT Open62541
  • ¥15 stata合并季度数据和日度数据
  • ¥15 c语言练习:统计词频
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色
  • ¥50 监控摄像头 乐橙和家亲版 保存sd卡的文件怎么打开?视频怎么播放?
  • ¥15 Python的Py-QT扩展库开发GUI
  • ¥60 提问一下周期性信信号的问题
  • ¥15 jtag连接不上fpga怎么办