1.开心小爬爬

在爬取之前需要先安装requests模块和BeautifulSoup这两个模块

'''
https://www.autohome.com.cn/all/
爬取图片和链接
写入数据库里边
标题:title summary a_url img_url tags... #https://www.autohome.com.cn/all/3/#liststart #访问地址
#懒加载,访问到才加载内容
安装:
pip install requests
pip install BeautifulSoup4
pip install -i https://pypi.doubanio.com/simple/requests 设计表结构将数据存储到数据库中
'''
import requests
from bs4 import BeautifulSoup
from concurrent.futures import ThreadPoolExecutor    #开启线程池,更快的爬取数据
import time
import os
def work(k):
response=requests.get(url='https://www.autohome.com.cn/all/{}/#liststart'.format(k)) response.encoding="GBK"
soup_obj=BeautifulSoup(response.text,'html.parser')
div_obj=soup_obj.find(name='div',attrs={"id":"auto-channel-lazyload-article"})
li_list=div_obj.find_all(name='li')
for i in li_list:
no_obj=i.find(name='h3')
if not no_obj:continue title=i.find(name='h3').text
summary=i.find(name='p').text
a='https'+i.find(name='a').get('href')
img='https'+i.find(name='img').get('src')
tags=a.split('/',)[]
# print(response.url,title,tags)
print(title,summary,a,img,tags)
#下面是个models里边表名
info_obj=models.infodata(title=title,summary=summary,a=a,img=img,tags=tags)
#下面是保存数据 到数据库
     info_obj.save() def spider():
"""爬取汽车之家"""
t=ThreadPoolExecutor()
for k in range(,):
t.submit(work,k)
t.shutdown()
# response=requests.get(url='https://www.autohome.com.cn/all/6836/#liststart')
# print(response.headers) #头文件
# print(response.encoding) #编码
# print(response.status_code) #状态码
# print(response.text) #html文件
if __name__ == '__main__':
#manage.py里边的内容,要对应起来
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myes007.settings")
#写下面的两行代码
   import django
django.setup()
  #导入models
from web01 import models t1=time.time()
spider()
print(time.time()-t1)

2.自定义models.py模块

from django.db import models

# Create your models here.
# title summary a_url img_url tags
class infodata(models.Model):
title=models.CharField(verbose_name="标题",max_length=)
summary=models.CharField(verbose_name="摘要",max_length=)
a=models.CharField(verbose_name="文章链接",max_length=)
img=models.CharField(verbose_name="图片链接",max_length=)
tags=models.CharField(verbose_name="标签",max_length=)

写完上边的内容,需要在Terminal窗体中执行命令

python manage.py makemigrations  #保存models.py的变更记录
python manage.py migrate       #把变更记录同步到数据库中

3.前后端设计&&配置文件.

ELK之开心小爬爬的更多相关文章

  1. ELK 安装部署小计

    ELK的安装部署已经是第N次了! 其实也很简单,这里记下来,以免忘记. #elasticsearch安装部署 wget https://artifacts.elastic.co/downloads/e ...

  2. 小爬爬5:scrapy介绍3持久化存储

    一.两种持久化存储的方式 1.基于终端指令的吃持久化存储: 特点:终端指令的持久化存储,只可以将parse方法的返回值存储到磁盘文件 因此我们需要将上一篇文章中的author和content作为返回值 ...

  3. 小爬爬4:12306自动登录&&pyppeteer基本使用

    超级鹰(更简单的操作验证) - 超级鹰 - 注册:普通用户 - 登陆: - 创建一个软件(id) - 下载示例代码 1.12306自动登录 # Author: studybrother sun fro ...

  4. 小爬爬5:scrapy介绍2

    1.scrapy:爬虫框架 -框架:集成了很多功能且具有很强通用性的一个项目模板 -如何学习框架:(重点:知道有哪些模块,会用就行) -学习框架的功能模板的具体使用. 功能:(1)异步爬取(自带buf ...

  5. 小爬爬7:回顾&&crawlSpider

    1.回顾昨日内容 回顾 - 全站数据爬取(分页) - 手动请求的发送Request(url,callback) - post请求和cookie处理 - start_requests(self) - F ...

  6. 小爬爬6: 网易新闻scrapy+selenium的爬取

    1.https://news.163.com/ 国内国际,军事航空,无人机都是动态加载的,先不管其他我们最后再搞中间件 2. 我们可以查看到"国内"等板块的位置 新建一个项目,创建 ...

  7. 小爬爬6.scrapy回顾和手动请求发送

    1.数据结构回顾 #栈def push(self,item) def pop(self) #队列 def enqueue(self,item) def dequeue(self) #列表 def ad ...

  8. 小爬爬5:重点回顾&&移动端数据爬取1

    1. ()什么是selenium - 基于浏览器自动化的一个模块 ()在爬虫中为什么使用selenium及其和爬虫之间的关联 - 可以便捷的获取动态加载的数据 - 实现模拟登陆 ()列举常见的sele ...

  9. 小爬爬4:selenium操作

    1.selenium是什么? selenium: - 概念:是一个基于浏览器自动化的模块. - 和爬虫之间的关联? - 帮我我们便捷的爬取到页面中动态加载出来的数据 - 实现模拟登陆 - 基本使用流程 ...

随机推荐

  1. 阿里云CDN上线 WAF,一站式提供分发+安全能力

    CDN是业界公认的加速网站访问效率.提升用户体验的内容分发加速产品.Gartner预测2019年超过50%的互联网流量将通过CDN内容分发网络进行加速. 然而,越来越多企业也意识到恶意网络攻击对非凡用 ...

  2. TZ_05_Spring_Transaction的纯注解开发

    1.数据库配置 jdbcConfiguation.java 1>使用Spring的EL表达式配合@Value()注解 @Value("${jdbc.Driver}") pri ...

  3. HDU 4584

    //也是简单题,因为n太小,故暴力之! #include<stdio.h> #include<math.h> #include<string.h> #define ...

  4. Leetcode590N-ary Tree Postorder TraversalN叉树的后序遍历

    给定一个 N 叉树,返回其节点值的后序遍历. class Node { public: int val; vector<Node*> children; Node() {} Node(in ...

  5. IIS 配置问题

    1 IIS错误需要重新运行配置 重新注册.netframework. 解决方式:cmd   C:\Windows\Microsoft.NET\Framework\v4.0.30319 aspnet_r ...

  6. python 单元测试之初次尝试

    python 语言中有很多单元测试框架和工具,而unittest单元测试框架作为标准python语言中的一个模块.是其他框架和工具的基础.想要进行单元测试,我们需要使用到unittest框架中的功能. ...

  7. Minimal coverage (贪心,最小覆盖)

    题目大意:先确定一个M, 然后输入多组线段的左端和右端的端点坐标,然后让你求出来在所给的线段中能够 把[0, M] 区域完全覆盖完的最少需要的线段数,并输出这些线段的左右端点坐标. 思路分析: 线段区 ...

  8. HTML文档与盒子模型

    关于HTML 百度百科里是这么说的:超文本标记语言,即HTML(Hypertext Markup Language),是用于描述网页文档的一种标记语言. 为什么叫用于“描述”网页文档的“标记”语言呢? ...

  9. Provider Policy与Consumer Policy在bnd中的区别

    首先需要了解的是bnd的相关知识: 1. API(也就是接口), 2. API Provider(接口的实现) 3. API Consumer( 接口的使用者) OSGi中的一个版本有4个部分:    ...

  10. 视觉暂留-Info:这些神奇的“视觉暂留”动画,每一幅都让人拍案叫绝!

    ylbtech-视觉暂留-Info:这些神奇的“视觉暂留”动画,每一幅都让人拍案叫绝! 1.返回顶部 1. 这些神奇的“视觉暂留”动画,每一幅都让人拍案叫绝! 原创|发布:2018-05-28 19: ...