博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构化与保存
阅读量:5912 次
发布时间:2019-06-19

本文共 1928 字,大约阅读时间需要 6 分钟。

1.结构化:

  • 单条新闻的详情字典:news
  • 一个列表页所有单条新闻汇总列表:newsls.append(news)
  • 所有列表页的所有新闻汇总列表:newstotal.extend(newsls)

2.转换成pandas的数据结构DataFrame

3.从DataFrame保存到excel

4.从DataFrame保存到sqlite3数据库

import requestsfrom bs4 import BeautifulSoupimport refrom  datetime  import  *import pandasdef gethits(url_1):    li_id =re.search('_.*/(.*).html',url_1).groups(0)[0]    hits = requests.get('http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80'.format(li_id)).text.split('.')[-1].rstrip('''');''').lstrip(''''html(''')    return hitsdef getdetail(url):    res = requests.get(url)    res.encoding = 'utf-8'        soup = BeautifulSoup(res.text,'html.parser')     news = {}    news['url'] = url    if(soup.select('.show-title')):        news['title'] = soup.select('.show-title')[0].text        info = soup.select('.show-info')[0].text        news['dt'] = datetime.strptime(info.lstrip('发布时间:')[0:19],'%Y-%m-%d %H:%M:%S')        news['source'] = re.search('来源:(.*)点击',info).group(1).strip()        news['content'] = soup.select('.show-content')[0].text.strip()        news['hits'] = gethits(url)    else:        pass    return newsdef onepage(url_page):    res = requests.get(url_page)    res.encoding = 'utf-8'        soup = BeautifulSoup(res.text,'html.parser')    newsls = []    for news in soup.select('li'):        if len(news.select('.news-list-title'))>0:            newsls.append(getdetail(news.select('a')[0]['href']))    return newslsurl_main="http://news.gzcc.cn/html/xiaoyuanxinwen/"res = requests.get(url_main)res.encoding = 'utf-8'soup = BeautifulSoup(res.text,'html.parser')newstotal = []newstotal.extend(onepage(url_main))pages = int(soup.select('.a1')[0].text.rstrip('条'))//10+1for i in range(2,pages+1):    url_page = "http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html".format(i)        newstotal.extend(onepage(url_page))df = pandas.DataFrame(newstotal)print(df.head())df.to_excel('news.xlsx')

 

转载于:https://www.cnblogs.com/hzlhzl/p/7693167.html

你可能感兴趣的文章
从实体和关系角度看 PowerDesigner 设计数据库模型
查看>>
windows下VisualStudio和QtCreator搭建Qt开发环境
查看>>
昨天要成为反弹一日游?关键看下午了
查看>>
windbg调试命令
查看>>
js中常用数组方法concat join push pop slice splice shift
查看>>
C++类对应的内存结构
查看>>
How to configue session timeout in Hive
查看>>
让全球2/3网站“心脏滴血”后,OpenSSL 经历了什么
查看>>
iOS APP设计规范大全
查看>>
通过UseAfterFree实现命令执行
查看>>
【NIPS挑战赛优胜解】用机器学习判断基因变异所属类别
查看>>
希望云安全为客户提供灵活安全防护策略
查看>>
Windows容器网络
查看>>
智能传感器在物联网领域面临的三大挑战
查看>>
布局云计算:OpenFabric数据中心显身手
查看>>
10个小技巧帮助Devops走向成功
查看>>
中国大数据利用率仅0.4%?行业大咖教你如何用好大数据
查看>>
从数据库到云 这次oracle青睐混合云
查看>>
卡巴斯基:Duqu2.0病毒使用的数字证书窃取自富士康
查看>>
《逻辑与计算机设计基础(原书第5版)》——3.7 选择
查看>>