ELK之开心小爬爬
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之开心小爬爬的更多相关文章
- ELK 安装部署小计
ELK的安装部署已经是第N次了! 其实也很简单,这里记下来,以免忘记. #elasticsearch安装部署 wget https://artifacts.elastic.co/downloads/e ...
- 小爬爬5:scrapy介绍3持久化存储
一.两种持久化存储的方式 1.基于终端指令的吃持久化存储: 特点:终端指令的持久化存储,只可以将parse方法的返回值存储到磁盘文件 因此我们需要将上一篇文章中的author和content作为返回值 ...
- 小爬爬4:12306自动登录&&pyppeteer基本使用
超级鹰(更简单的操作验证) - 超级鹰 - 注册:普通用户 - 登陆: - 创建一个软件(id) - 下载示例代码 1.12306自动登录 # Author: studybrother sun fro ...
- 小爬爬5:scrapy介绍2
1.scrapy:爬虫框架 -框架:集成了很多功能且具有很强通用性的一个项目模板 -如何学习框架:(重点:知道有哪些模块,会用就行) -学习框架的功能模板的具体使用. 功能:(1)异步爬取(自带buf ...
- 小爬爬7:回顾&&crawlSpider
1.回顾昨日内容 回顾 - 全站数据爬取(分页) - 手动请求的发送Request(url,callback) - post请求和cookie处理 - start_requests(self) - F ...
- 小爬爬6: 网易新闻scrapy+selenium的爬取
1.https://news.163.com/ 国内国际,军事航空,无人机都是动态加载的,先不管其他我们最后再搞中间件 2. 我们可以查看到"国内"等板块的位置 新建一个项目,创建 ...
- 小爬爬6.scrapy回顾和手动请求发送
1.数据结构回顾 #栈def push(self,item) def pop(self) #队列 def enqueue(self,item) def dequeue(self) #列表 def ad ...
- 小爬爬5:重点回顾&&移动端数据爬取1
1. ()什么是selenium - 基于浏览器自动化的一个模块 ()在爬虫中为什么使用selenium及其和爬虫之间的关联 - 可以便捷的获取动态加载的数据 - 实现模拟登陆 ()列举常见的sele ...
- 小爬爬4:selenium操作
1.selenium是什么? selenium: - 概念:是一个基于浏览器自动化的模块. - 和爬虫之间的关联? - 帮我我们便捷的爬取到页面中动态加载出来的数据 - 实现模拟登陆 - 基本使用流程 ...
随机推荐
- Luogu P3254 圆桌问题(最大流)
P3254 圆桌问题 题面 题目描述 假设有来自 \(m\) 个不同单位的代表参加一次国际会议.每个单位的代表数分别为 \(r_i (i =1,2,--,m)\) . 会议餐厅共有 \(n\) 张餐桌 ...
- ThinkPHP实现导出Excel表格
/** * 导出数据为excel表格 *@param $data 一个二维数组,结构如同从数据库查出来的数组 *@param $title excel的第一行标题,一个数组,如果为空则没有标题 *@p ...
- centos7.6 安装jdk1.8
1. 下载 jdk-8u211-linux-x64.tar.gz文件. 2. 创建/opt/soft目录,# cd /opt, # mkdir soft, #tar -zxvf jdk-8u211- ...
- LUOGU P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper
题目描述 A little known fact about Bessie and friends is that they love stair climbing races. A better k ...
- 直接在安装了redis的Linux机器上操作redis数据存储类型--String类型
一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...
- htmlunit第一个爬虫演示 目标网址http://ent.sina.com.cn/film/
基本都要放弃了 springmvc 配置了htmlunit之后无法运行,都不能正常实例化webclient,但是突然想起来用maven应用程序测试一下 结果竟然就可以了.好吧,还是有希望的 大佬博客 ...
- Boost.Asio基础
http://www.voidcn.com/article/p-exkmmuyn-po.html http://www.voidcn.com/article/p-xnxiwkrf-po.html ht ...
- 学习JDK1.8集合源码之--PriorityQueue
1. PriorityQueue简介 PriorityQueue是一种优先队列,不同于普通队列的先进先出原则,优先队列是按照元素的优先级出列,每次出列都是优先级最高的元素.优先队列的应用很多,最典型的 ...
- 洛谷P1569属牛的抗议 超级强力无敌弱化版
P1569 [USACO11FEB]属牛的抗议Generic Cow Prote- 题目描述 约翰家的N头奶牛聚集在一起,排成一列,正在进行一项抗议活动.第i头奶牛的理智度 为Ai,Ai可能是负数.约 ...
- 下载并安装Cent OS 6.5
到官网下载centos 6.5指引 官网:https://www.centos.org/ [当然也可以通过百度搜索,然后打开] 进入官网,选择"Get CentOS Now" ...