专栏首页python学习教程​Python程序员因为和女朋友斗图斗输了,一怒之下爬取了网站30页表情包

​Python程序员因为和女朋友斗图斗输了,一怒之下爬取了网站30页表情包

Python程序员和女朋友斗图输了(无中生女友),被百般嘲讽。QQ、微信斗图总是斗不过,索性直接来爬斗图网,我有整个网站的图,还有谁我斗不过?

(可以参考我的解析思路,只获取了30页作为测试)

全部源码

# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
import os
class doutuSpider(object):
 headers = {
 "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"}
 def get_url(self,url):
 data = requests.get(url, headers=self.headers)
 soup = BeautifulSoup(data.content,'lxml')
 totals = soup.findAll("a", {"class": "list-group-item"})
 for one in totals:
 sub_url = one.get('href')
 global path
 path = 'J:\\train\\image'+'\\'+sub_url.split('/')[-1]
 os.mkdir(path)
 try:
 self.get_img_url(sub_url)
 except:
 pass
 def get_img_url(self,url):
 data = requests.get(url,headers = self.headers)
 soup = BeautifulSoup(data.content, 'lxml')
 totals = soup.find_all('div',{'class':'artile_des'})
 for one in totals:
 img = one.find('img')
 try:
 sub_url = img.get('src')
 except:
 pass
 finally:
 urls = 'http:' + sub_url
 try:
 self.get_img(urls)
 except:
 pass
 def get_img(self,url):
 filename = url.split('/')[-1]
 global path
 img_path = path+'\\'+filename
 img = requests.get(url,headers=self.headers)
 try:
 with open(img_path,'wb') as f:
 f.write(img.content)
 except:
 pass
 def create(self):
 for count in range(1, 31):
 url = 'https://www.doutula.com/article/list/?page={}'.format(count)
 print '开始下载第{}页'.format(count)
 self.get_url(url)
if __name__ == '__main__':
 doutu = doutuSpider()
 doutu.create()

结果

总结

总的来说,这个网站结构相对来说不是很复杂,大家可以参考一下,爬一些有趣的网站

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

本文分享自微信公众号 - python教程(pythonjc),作者:小雨

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python爬虫学习教程,爬取网易云音乐!

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取...

    python学习教程
  • python爬虫实战:爬取美剧网站

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,都放在了文章...

    python学习教程
  • Python爬虫学习 煎蛋网全站妹子图爬虫

    通过上一篇文章的爬取过程,我们基本上理解了抓取一个网站的大致流程。因为一个网站虽然有很多页,但是大部分网站每一页的HTML标签内容都是相同的。我们只要获取到一页...

    python学习教程
  • python爬取考研网的信息

    https://yz.chsi.com.cn/zsml/queryAction.do

    我被狗咬了
  • Python笔记(十三):urllib模块

    (一)      URL地址 URL地址组件 URL组件 说明 scheme 网络协议或下载方案 net_loc ...

    free赖权华
  • python网络爬虫(3)python爬虫遇到的各种问题(python版本、进程等)

    Python3中,import cookielib改成 import http.cookiejar

    嘘、小点声
  • 三步爬取半次元热门图片

    边学习,边创造是一件开心的事情,因为你会清楚的认识到自己的状态,以及那充满内心的成就感,因此从写爬虫开始学习python是一个简单粗暴的提升路线,不知不觉了解很...

    py3study
  • python使用retrying重试请求

    当我们用 request 发起网络请求,时不时会遇到超时,当然不可能让这个请求一直阻塞,一般会设置一个超时时间,用 try except 抛出异常,避免程序中断...

    章鱼喵
  • Tomcat自带的Session共享方案实施记录

    一般来说,在多个tomcat集群业务中,session会话共享是必须的需求,不然前端nginx转发过来的请求不知道之前请求在哪台tomcat节点上,从而就找不到...

    洗尽了浮华
  • golang 多线程爬虫

    地球流浪猫

扫码关注云+社区

领取腾讯云代金券