我是靠谱客的博主 危机画板,最近开发中收集的这篇文章主要介绍女生勿扰,只适合男孩子的python爬虫,里面东西不给钱统统白送。项目介绍:项目技术:项目作业:项目体会:项目修复:项目后记:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说真的,花了几天的时间来搞一个别人已经干过的项目,不知道是不是不值得,但是后面我自己上手做了之后,我才发现,这必须值得,崔大的书是2018年的,而现在网络的更新速度太快了,书本上的接口知识点都变了,废了老多时间才弄懂这些,不过我觉得也值,所以把代码加强了一下,实现了我的功能,下面做个简单的分享。

都2020年了还没爬过今日头条,你做爬虫是不是显得OUT了?但是没事,虽然现在的接口都变化了,那我就讲下2020年怎么搞今日头条妹子写真,这是一个改进的项目,里面参加了我自己的很多想法,比如有些很难懂的,我自己用简单的方式去实现了它,个人感觉还是实现的不错的,各位看官可以看看。

在这里插入图片描述

这个妹子觉得好看的评论区扣好看,直接教你怎么搞到手!


girls:

  • 项目介绍:
  • 项目技术:
    • 简单的进程池:
    • Ajax数据爬取:
  • 项目作业:
      • 最终作业效果图:
    • 分析ajax接口获得数据:
      • 数据包括:
      • 第一点
      • 第二点
      • 第三点
      • 获得数据
    • 编写程序:
      • 获得json文件:
      • 获得标题和网址:
      • 下载图片:
      • 项目全部代码:
  • 项目体会:
  • 项目修复:
  • 项目后记:

项目介绍:

利用简单的进程池Ajax数据爬取技术对今日头条关键词页面进行分析处理,然后获取每个页面的链接,从而获得所有图片的链接,然后打包下载
整个步骤我都会用小模块代码将其展示,实现不了的过来砍我! 就是这么的负责我跟你们说。


项目技术:

简单的进程池:

这里对进程的了解我也不是很多,简单的说下项目需要的函数:

from multiprocessing import Pool  # 调用函数库
p = Pool(4)  #  构造一个进程池,单位为4
p.close()  # 关闭进程
p.join()   # 开启进程

对Pool对象调用join()方法会等待所有子进程执行完毕,调用join()之前必须先调用close(),调用close()之后就不能继续添加新的Process了。

更多进程的知识点,还请各位大佬移步:廖老师的课堂


Ajax数据爬取:

网址的很多信息都不会直接全部出现在源代码里面,比如你刷网页,那些新刷出的网页就是一个个的通过ajax接口加载出来的,这是一种异步加载方式,原始的页面不会包含很多数据,数据都放在一个个接口里面,只有我们请求这个ajax接口,然后服务器后台收到这个接口信息,才会把数据返回,然后JavaScript分析这个数据,在渲染到浏览器页面上,这就是我们看到的模式,
现在越来越多的网页都是采用这个异步加载的方式,爬虫就现得没那么容易了,这个概念的讲的也拗口,我们直接开始实战吧!


项目作业:

最终作业效果图:

在这里插入图片描述
在这里插入图片描述


分析ajax接口获得数据:

数据包括:

  • 每个页面的标题
  • 每个页面的网址

目标网址: 今日头条关键词妹子

怎么知道他是不是ajax接口,主要有三点:

第一点

注意我这几个箭头,只要你在这里·查找·里面找不到与文章对应的文字还是链接什么的,那就可能是。
在这里插入图片描述

第二点

在这个XHR里面找到箭头的网址,点击,查看预览,这个时候你随意打开里面的东西,就能发现很多与文章相同的点
在这里插入图片描述

第三点

还是这张图,你可以看到X-requested里面的接口是XMLHttpRequets
如果三点同时满足,那他就是Ajax接口,然后异步加载出来的数据。

在这里插入图片描述

获得数据

在第二点的那张图我们可以看到有0,1,2,3,4,之类的,打开你会发现,都在这里面,图中我用箭头标红了,有标题和页面链接,只要获得这个页面链接,那么就很简单了。

在这里插入图片描述

编写程序:

获得json文件:

首先请求最开始的页面: https://www.toutiao.com/search/?keyword=%E7%BE%8E%E5%A5%B3
但是我们不能这样直接把页面交给requests库直接干,因为这是一个ajax接口,如果不加入参数,很可能让你输入什么验证码还是拉动验证条什么,反正就是很麻烦,那我们就加入参数,具体措施如下:

def get_page(offset):    # offset偏移,因为每个ajax都是加载固定的页面数
                     # 这里是20,在第三点图上可以看得到
    global headers  # 全局变量  我后面还要用
    headers = {
   
        'cookie': 'tt_webid=6821518909792273933; WEATHER_CITY=%E5%8C%97%E4%BA%AC; SLARDAR_WEB_ID=b4a776dd-f454-43c6-81cd-bd37cb5fd0ec; tt_webid=6821518909792273933; csrftoken=4a2a6afcc9de4484af87a2ff8cba0638; ttcid=8732e6def0484fae975c136222a44f4932; s_v_web_id=verify_k9o5qf2w_T0dyn2r8_X6CE_4egN_9OwH_CCxYltDKYSQj; __tasessionId=oxyt6axwv1588341559186; tt_scid=VF6tWUudJvebIzhQ.fYRgRk.JHpeP88S02weA943O6b6-7o36CstImgKj1M3tT3mab1b',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36 Edg/81.0.416.68',
        'referer': 'https://www.toutiao.com/search/?keyword=%E7%BE%8E%E5%A5%B3',
        'x-requested-with': 'XMLHttpRequest'
    }  # 头信息 加入参数
    params = {
   
        'aid': ' 24',
        'app_name': ' web_search',
        'offset': offset,
        'format': ' json',
        'keyword': ' 美女',
        'autoload': ' true',
        'count': ' 20',
        'en_qc': ' 1',
        'cur_tab': ' 1',
        'from': ' search_tab',
        'pd': ' synthesis',
        'timestamp': int(time

最后

以上就是危机画板为你收集整理的女生勿扰,只适合男孩子的python爬虫,里面东西不给钱统统白送。项目介绍:项目技术:项目作业:项目体会:项目修复:项目后记:的全部内容,希望文章能够帮你解决女生勿扰,只适合男孩子的python爬虫,里面东西不给钱统统白送。项目介绍:项目技术:项目作业:项目体会:项目修复:项目后记:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部