博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬虫综合大作业
阅读量:6000 次
发布时间:2019-06-20

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

可以用pandas读出之前保存的数据:

newsdf = pd.read_csv(r'F:\duym\gzccnews.csv')

 

一.把爬取的内容保存到数据库sqlite3

import sqlite3

with sqlite3.connect('gzccnewsdb.sqlite') as db:
newsdf.to_sql('gzccnews',con = db)

with sqlite3.connect('gzccnewsdb.sqlite') as db:

df2 = pd.read_sql_query('SELECT * FROM gzccnews',con=db)

 

保存到MySQL数据库

  • import pandas as pd
  • import pymysql
  • from sqlalchemy import create_engine
  • conInfo = "mysql+pymysql://user:passwd@host:port/gzccnews?charset=utf8"
  • engine = create_engine(conInfo,encoding='utf-8')
  • df = pd.DataFrame(allnews)
  • df.to_sql(name = ‘news', con = engine, if_exists = 'append', index = False)

 作为一名爱运动的男生,我选择爬取的是季后赛nba新闻

这是生成爬虫的代码

def creat_bs(url):    result = requests.get(url)    e=chardet.detect(result.content)['encoding']    #set the code of request object to the webpage's code    result.encoding=e    c = result.content    soup =BeautifulSoup(c,'lxml')    return soup

  构建要获取网页的集合函数

def build_urls(prefix,suffix):    urls=[]    for item in suffix:        url=prefix+item        urls.append(url)    return urls

  爬取函数

def find_title_link(soup):    titles=[]    links=[]    try:        contanier=soup.find('div',{'class':'container_padd'})        ajaxtable=contanier.find('form',{'id':'ajaxtable'})        page_list=ajaxtable.find_all('li')        for page in page_list:            titlelink=page.find('a',{'class':'truetit'})            if titlelink.text==None:                title=titlelink.find('b').text            else:                title=titlelink.text            if np.random.uniform(0,1)>0.90:                link=titlelink.get('href')                titles.append(title)                links.append(link)    except:        print('have no value')    return titles,links

  保存数据

wordlist=str()for title in title_group:    wordlist+=titlefor reply in reply_group:    wordlist+=replydef savetxt(wordlist):    f=open('wordlist.txt','wb')    f.write(wordlist.encode('utf8'))    f.close()savetxt(wordlist)

  生成的词云

 

转载于:https://www.cnblogs.com/Winslow-liujie/p/10840663.html

你可能感兴趣的文章
Mongodb内嵌数组的完全匹配查询
查看>>
MyBatis学习笔记(四) 注解
查看>>
什么是数据仓库主题
查看>>
WARN hdfs.DFSClient: Caught exception java.lang.InterruptedException
查看>>
移动硬盘文件或目录损坏且无法读取怎么解决
查看>>
在shell中使用sed命令替换/为\/
查看>>
JavaSe: 不要小看了 Serializable
查看>>
Node.js 抓取电影天堂新上电影节目单及ftp链接
查看>>
js课程 3-9 js内置对象定时器和超时器怎么使用
查看>>
linux popen函数
查看>>
[游戏开发]关于手游客户端网络带宽压力的一点思考
查看>>
如何成为强大的程序员?
查看>>
How To: 用 SharePoint 计算列做出你自己的KPI列表
查看>>
Visual Studio下使用jQuery的10个技巧
查看>>
web服务器工作原理及http协议通信
查看>>
数据库查询某个字段值的位数 语法
查看>>
java file 文件操作 operate file of java
查看>>
WPF获取路径解读
查看>>
【实战HTML5与CSS3】用HTML5和CSS3制作页面(上)
查看>>
Android : 如何在WebView显示的页面中查找内容
查看>>