news

数据结构化与保存

妖精的绣舞 提交于 2020-01-30 09:24:29
1. 将新闻的正文内容保存到文本文件。 1 2 3 4 def writeNewsDatail(content): f = open ( 'gzccnews1.txt' , 'a' ,encoding = 'utf-8' ) f.write(content) f.close() 2. 将新闻数据结构化为字典的列表: 单条新闻的详情-->字典news 一个列表页所有单条新闻汇总-->列表newsls.append(news) 所有列表页的所有新闻汇总列表newstotal.extend(newsls) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 import pandas import requests import re from bs4 import BeautifulSoup from datetime import datetime def writeNewsDatail(content): f = open (

数据结构化与保存

给你一囗甜甜゛ 提交于 2020-01-30 08:07:39
import requests from bs4 import BeautifulSoup from datetime import datetime import re import pandas #获取点击次数 def getClickCount(newsUrl): newId=re.search('\_(.*).html',newsUrl).group(1).split('/')[1] clickUrl="http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80".format(newId) clickStr = requests.get(clickUrl).text count = re.search("hits'\).html\('(.*)'\);", clickStr).group(1) return count #获取新闻详情 def getNewsDetail(newsurl): resd=requests.get(newsurl) resd.encoding='utf-8' soupd=BeautifulSoup(resd.text,'html.parser') news={} news['title']=soupd.select('.show-title')[0].text # news['newsurl']

数据结构与保存

大憨熊 提交于 2020-01-30 06:27:55
1. 将新闻的正文内容保存到文本文件。 1 2 3 4 def writeNewsDetail(content): f = open ( 'gzccNews.txt' , 'a' ,encoding = 'utf-8' ) f.write(content) f.close()    2. 将新闻数据结构化为字典的列表: 单条新闻的详情-->字典news 一个列表页所有单条新闻汇总-->列表newsls.append(news) 所有列表页的所有新闻汇总列表newstotal.extend(newsls) import requests from bs4 import BeautifulSoup from datetime import datetime import re import pandas def writeNewsDetail(content): f = open ( 'gzccNews.txt' , 'a' ,encoding = 'utf-8' ) f.write(content) f.close() def getClickCount(newsUrl): #一篇新闻的点击次数 newId = re.search( '\_(.*).html' , newsUrl).group( 1 ).split( '/' )[ 1 ] clickUrl = "http://oa

数据化结构与保存

两盒软妹~` 提交于 2020-01-30 04:52:25
import requests from bs4 import BeautifulSoup from datetime import datetime import re import pandas #获取点击次数 def getClickCount(newsUrl): newId=re.search('\_(.*).html',newsUrl).group(1).split('/')[1] clickUrl="http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80".format(newId) clickStr = requests.get(clickUrl).text count = re.search("hits'\).html\('(.*)'\);", clickStr).group(1) return count #获取新闻详情 def getNewsDetail(newsurl): resd=requests.get(newsurl) resd.encoding='utf-8' soupd=BeautifulSoup(resd.text,'html.parser') news={} news['title']=soupd.select('.show-title')[0].text # news['newsurl']

理解爬虫原理

不问归期 提交于 2020-01-30 02:53:20
作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2881 一. 简单说明爬虫原理: 1、向服务器发起请求 2、获取响应内容 3、解析内容 4、保存内容 二. 理解爬虫开发过程 1).简要说明浏览器工作原理; 2).使用 requests 库抓取网站数据; requests.get(url) 获取校园新闻首页html代码 3).了解网页 写一个简单的html文件,包含多个标签,类,id 1).简要说明浏览器工作原理; 浏览器的主要功能是向服务器发出请求,在浏览器中展示选择的网路资源,一般资源就是HTML文档,也可以是PDF, IMGAGE,或者其他类型,资源的位置由用户使用URI(统一资源表示符)指定。 2).使用 requests 库抓取网站数据 ; requests.get(url) 获取校园新闻首页html代码 import requests url='http://news.gzcc.cn/html/2019/meitishijie_0225/10895.html' res = requests.get(url) res.encoding='utf-8' res.text 3).了解网页 写一个简单的html文件,包含多个标签,类,id <html> \ <body> \ <h1 id="title"

MSQL语句优化总结

六眼飞鱼酱① 提交于 2020-01-28 02:26:22
MYSQL语句优化总结 在实际项目中,数据量存储与读取是不可或缺的工作。读取数据不单单是把数据取出来就完事了,在数据量特别大的情况下,如何提高读取效率是一件很重要的事情.要想提高读取效率就要了解sql优化方案,小编在此对sql语句优化做了一个简单的总结,供大家学习交流。如有不对的地方,恳请各位看官指正 一在不使用索引的情况下sql语句优化 1.select语句中尽量避免使用* *是获取表中全部字段的意思,比如select * from student,获取的是student表中全部字段的所有数据 优化思路: 比如我只需要这个表中姓名和成绩两个字段的数据,sql语句可以改成select name,achievement from student 补充:如果select * 用户连表查询,会占用更大的数据库服务器资源 2.select 语句中尽量避免使用in 和 not in in和not in会导致数据库进行全表搜索,提高运行时间成本,可以使用between and代替 如:我想查询学号为1,和10的学生姓名和成绩 select name, achievement from student where stuno in(1,10); 优化: Select name,achievement fron student where stuno between 1 and 10; 3

SQL注入篇——注入工具sqlmap使用详解

倖福魔咒の 提交于 2020-01-25 13:08:29
sqlmap简介 sqlmap是一个开源的渗透测试工具,它自动检测和利用SQL注入漏洞并接管数据库服务器。它配备了强大的检测引擎、最终渗透测试器的许多利基特性和广泛的开关,从数据库指纹、从数据库获取数据到通过带外连接访问底层文件系统和在操作系统上执行命令。 sqlmap功能 全力支持 MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、Informix、MariaDB、MemSQL、TiDB、CockroachDB、HSQLDB、H2、MonetDB、Apache Derby、Vertica、Mckoi和Presto 数据库管理系统。 完全支持六种SQL注入技术: 基于布尔的盲查询、基于时间的盲查询、基于错误的查询、基于联合查询的、基于堆栈的查询和带外查询。 支持 直接连接到数据库 通过提供DBMS凭据、IP地址、端口和数据库名称,而无需通过SQL注入传递。 支持枚举 用户、密码散列、特权、角色、数据库、表和列 密码哈希格式的自动识别和对 使用基于字典的攻击破解它们。 支持 转储数据库表 完整地说,根据用户的选择,有一系列的条目或特定的列。用户还可以选择仅转储每列条目中的字符范围。 支持 搜索特定数据库名称

转:获取网页URL地址及参数等的两种方法(js和C#)

孤者浪人 提交于 2020-01-24 07:27:36
转:获取网页URL地址及参数等的两种方法(js和C#) 一 js 先看一个示例 用javascript获取url网址信息 <script type="text/javascript"> document.write("location.host="+location.host+"<br>"); document.write("location.hostname="+location.hostname+"<br>"); document.write("location.href="+location.href+"<br>"); document.write("location.pathname="+location.pathname+"<br>"); document.write("location.protocol="+location.protocol+"<br>"); </script> 执行 用javascript获取url网址信息 代码效果如下 location.host= www.vnde.cn location.hostname= www.vnde.cn location.href= http://www.vnde.cn/bc/2008/0306/article_1860.html location.pathname= /bc/2008/0306/article

Flask框架之Flask_RESTful结合蓝图使用

半世苍凉 提交于 2020-01-24 02:44:00
Flask_RESTful结合蓝图使用 在蓝图中,如果使用 Flask_RESTful ,那么在创建 Api 对象的时候,使用蓝图对象,不再是使用 app 对象了. 蓝图news.py文件: from flask import url_for , render_template , Blueprint , make_response , Response from flask_restful import Api , Resource , reqparse , inputs , fields , marshal_with import json news_bp = Blueprint ( 'news' , __name__ , url_prefix = '/news' ) api = Api ( news_bp ) #1.flask-restful结合蓝图使用 #复杂的参数结构 #实体间关系有 1:1 1:n n:n(转为2个1:n) #新闻系统后台 用户 新闻 新闻标签 class User ( ) : def __init__ ( self , id , uname , age ) : self . id = id self . uname = uname self . age = age def __repr__ ( self ) : return "<User:{id},

今日头条新闻爬取+storm流处理存储(1)——爬取部分

本小妞迷上赌 提交于 2020-01-23 01:22:40
项目简介 本项目整体分为三个部分来进行 今日头条新闻爬取 将爬取下来的新闻正文部分进行实体分析,并将结果可视化 用storm框架将爬取的新闻数据存入mysql 本文主要介绍今日头条新闻爬取的部分,下面给出整个项目的框架 由于下面可能涉及到kafka相关的东西,关于这部分内容可以参考这篇文章: 流处理平台的搭建 实体分析部分可以参考: 实体分析 storm流处理部分可以参考: storm流处理 项目下载地址: 今日头条爬取+实体分析+storm流处理 代码介绍 main.py 程序的启动入口,这里为了能够让程序不断的执行下去用了个死循环 # -- coding: utf-8 - from get_page_index import get_page_index import time def main ( ) : get_page_index ( ) if __name__ == "__main__" : a = 1 while True : print ( '<----------------------第' + str ( a ) + '轮启动---------------------->\n' ) main ( ) print ( '<----------------------第' + str ( a ) + '轮结束---------------------->\n' )