精华内容
下载资源
问答
  • 通过python爬虫抓取下来的数据要怎么存储呢,当然,把数据存储在txt文本中是一个不错的主意,但是,有事为了更加清晰的分析数据,可以将之存储在excel表格中,我之前是先将数据存储在txt文本中,然后再转存到excel中...

    通过python爬虫抓取下来的数据要怎么存储呢,当然,把数据存储在txt文本中是一个不错的主意,但是,有事为了更加清晰的分析数据,可以将之存储在excel表格中,我之前是先将数据存储在txt文本中,然后再转存到excel中,这样分开操作感觉比较清楚,不会乱。

    将数据写入excel需要安装一个模块“xlwt”

    可以通过pip来安装,在命令行进入到python安装目录下的Scripts目录中,输入如下

    pip install xlwt

    就会自动完成安装

    安装后

    import xlwt

    就可以使用这个模块了

    workbook = xlwt.Workbook(encoding='utf-8')

    以上方法就很简单地建立了一个名为workbook的工作簿对象,下一步再建立工作表,就是excel中的sheet1,sheet2.

    worksheet_yes = workbook.add_sheet('yes')

    worksheet_no = workbook.add_sheet('no')

    如此,就建立了两个名为‘yes’和‘no’的两个工作表

    接着,就是朝工作表中的单元格写入数据了。

    首先是定位单元格,采用行和列的方式,注意了,这里行和列都是从0开始计数的。

    worksheet_yes.write(0,0,'hello world')

    第一个参数0表示的行,第二个表示的是列,'hello world'是向这个单元格写入的内容。

    成功写入,当然,要看到最终结果,还得先将这个excel保存

    workbook.save('yes.xls')

    工作簿对象调用save方法就保存了文件到当前目录,参数'yes.xls'是文件名

    展开全文
  • 本文简单使用python的requests库及re正则表达式对淘宝的商品信息(商品名称,商品价格,生产地区,以及销售额)进行了爬取,并最后用xlsxwriter库将信息放入Excel表格。最后的效果图如下: 提示:以下是本篇文章...


    前言

    本文简单使用python的requests库及re正则表达式对淘宝的商品信息(商品名称,商品价格,生产地区,以及销售额)进行了爬取,并最后用xlsxwriter库将信息放入Excel表格。最后的效果图如下:
    在这里插入图片描述


    提示:以下是本篇文章正文内容

    一、解析淘宝URL组成

    1.我们的第一个需求就是要输入商品名字返回对应的信息
    所以我们这里随便选一个商品来观察它的URL,这里我们选择的是书包,打开网页,可知他的URL为:
    https://s.taobao.com/search?q=%E4%B9%A6%E5%8C%85&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306
    可能单单从这个url里我们看不出什么,但是我们可以从图中看出一些端倪

    在这里插入图片描述
    我们发现q后面的参数就是我们要获取的物品的名字
    2.我们第二个需求就是根据输入的数字来爬取商品的页码
    所以我们来观察一下后面几页URL的组成
    在这里插入图片描述
    由此我们可以得出分页的依据是最后s的值=(44(页数-1))

    二、查看网页源码并用re库提取信息

    1.查看源码

    在这里插入图片描述
    这里的几个信息都是我们所需要的

    2.re库提取信息

    不懂re库的可以看看我刚写的re总结
    传送门!!!!!!!!!!!!!!!.

    	a = re.findall(r'"raw_title":"(.*?)"', html)
        b = re.findall(r'"view_price":"(.*?)"', html)
        c = re.findall(r'"item_loc":"(.*?)"', html)
        d = re.findall(r'"view_sales":"(.*?)"', html)
    

    三:函数填写

    这里我写了三个函数,第一个函数来获取html网页,代码如下:

    def GetHtml(url):
        r = requests.get(url,headers =headers)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r
    

    第二个用于获取网页的URL代码如下:

    def Geturls(q, x):
        url = "https://s.taobao.com/search?q=" + q + "&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm" \
                                                     "=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306 "
        urls = []
        urls.append(url)
        if x == 1:
            return urls
        for i in range(1, x ):
            url = "https://s.taobao.com/search?q="+ q + "&commend=all&ssid=s5-e&search_type=item" \
                  "&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306" \
                  "&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s=" + str(
                i * 44)
            urls.append(url)
        return urls
    

    第三个用于获取我们需要的商品信息并写入Excel表格代码如下:

    def GetxxintoExcel(html):
        global count#定义一个全局变量count用于后面excel表的填写
        a = re.findall(r'"raw_title":"(.*?)"', html)#(.*?)匹配任意字符
        b = re.findall(r'"view_price":"(.*?)"', html)
        c = re.findall(r'"item_loc":"(.*?)"', html)
        d = re.findall(r'"view_sales":"(.*?)"', html)
        x = []
        for i in range(len(a)):
            try:
                x.append((a[i],b[i],c[i],d[i]))#把获取的信息放入新的列表中
            except IndexError:
                break
        i = 0
        for i in range(len(x)):
            worksheet.write(count + i + 1, 0, x[i][0])#worksheet.write方法用于写入数据,第一个数字是行位置,第二个数字是列,第三个是写入的数据信息。
            worksheet.write(count + i + 1, 1, x[i][1])
            worksheet.write(count + i + 1, 2, x[i][2])
            worksheet.write(count + i + 1, 3, x[i][3])
        count = count +len(x) #下次写入的行数是这次的长度+1
        return print("已完成")
    
    

    四:主函数填写

    if __name__ == "__main__":
        count = 0
        headers = {
            "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
            ,"cookie":""#cookie 是每个人独有的,因为反爬机制的缘故,爬取太快可能到后面要重新刷新一下自己的Cookie。
                    }
        q = input("输入货物")
        x = int(input("你想爬取几页"))
        urls = Geturls(q,x)
        workbook = xlsxwriter.Workbook(q+".xlsx")
        worksheet = workbook.add_worksheet()
        worksheet.set_column('A:A', 70)
        worksheet.set_column('B:B', 20)
        worksheet.set_column('C:C', 20)
        worksheet.set_column('D:D', 20)
        worksheet.write('A1', '名称')
        worksheet.write('B1', '价格')
        worksheet.write('C1', '地区')
        worksheet.write('D1', '付款人数')
        for url in urls:
            html = GetHtml(url)
            s = GetxxintoExcel(html.text)
            time.sleep(5)
        workbook.close()#在程序结束之前不要打开excel,excel表在当前目录下
    
    

    五:完整代码

    import re
    import  requests
    import xlsxwriter
    import  time
    
    def GetxxintoExcel(html):
        global count
        a = re.findall(r'"raw_title":"(.*?)"', html)
        b = re.findall(r'"view_price":"(.*?)"', html)
        c = re.findall(r'"item_loc":"(.*?)"', html)
        d = re.findall(r'"view_sales":"(.*?)"', html)
        x = []
        for i in range(len(a)):
            try:
                x.append((a[i],b[i],c[i],d[i]))
            except IndexError:
                break
        i = 0
        for i in range(len(x)):
            worksheet.write(count + i + 1, 0, x[i][0])
            worksheet.write(count + i + 1, 1, x[i][1])
            worksheet.write(count + i + 1, 2, x[i][2])
            worksheet.write(count + i + 1, 3, x[i][3])
        count = count +len(x)
        return print("已完成")
    
    
    def Geturls(q, x):
        url = "https://s.taobao.com/search?q=" + q + "&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm" \
                                                     "=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306 "
        urls = []
        urls.append(url)
        if x == 1:
            return urls
        for i in range(1, x ):
            url = "https://s.taobao.com/search?q="+ q + "&commend=all&ssid=s5-e&search_type=item" \
                  "&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306" \
                  "&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s=" + str(
                i * 44)
            urls.append(url)
        return urls
    
    
    def GetHtml(url):
        r = requests.get(url,headers =headers)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r
    
    if __name__ == "__main__":
        count = 0
        headers = {
            "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
            ,"cookie":""
                    }
        q = input("输入货物")
        x = int(input("你想爬取几页"))
        urls = Geturls(q,x)
        workbook = xlsxwriter.Workbook(q+".xlsx")
        worksheet = workbook.add_worksheet()
        worksheet.set_column('A:A', 70)
        worksheet.set_column('B:B', 20)
        worksheet.set_column('C:C', 20)
        worksheet.set_column('D:D', 20)
        worksheet.write('A1', '名称')
        worksheet.write('B1', '价格')
        worksheet.write('C1', '地区')
        worksheet.write('D1', '付款人数')
        xx = []
        for url in urls:
            html = GetHtml(url)
            s = GetxxintoExcel(html.text)
            time.sleep(5)
        workbook.close()
    
    

    最后觉得写的可以的
    在这里插入图片描述
    新的文章:python爬虫实战——爬取猫眼电影TOP100并导入excel表

    展开全文
  • 本文给大家记录的是使用Python制作爬虫爬取拉勾网信息并将结果保存到Excel中的实现思路及方法,并附上最终源码,有需要的小伙伴可以参考下
  • node.js爬虫导入excel表格 前端学习进程 需要用到: var fs = require("fs");//将内容写入表格 var xlsx = require('node-xlsx')//获取表格 写入表格 function writeXls(datas) { var buffer = xlsx....

    node.js爬虫导入excel表格

    前端学习进程


    需要用到:

    var fs = require("fs");//将内容写入表格
    var xlsx = require('node-xlsx')//获取表格
    

    写入表格

    function writeXls(datas) {
    var buffer = xlsx.build([
        {
            name:'sheet1',
            data:datas
        }
    ]);
    fs.writeFileSync('the_content.xlsx',buffer,{'flag':'w'});   //生成excel
    }
    

    其实一个xlsx文件可以看成一个三维数组,分别表示页面、页面上的x,y坐标

    var datas=[];
    var data1=[1,2,3];
    var data2=[4,5,6];
    datas.push(data1);    
    //一行一行添加的 不是一列一列
    datas.push(data2);    
    writeXls(datas);
    

    为什么是写入文档的操作是上面的原因:
    因为写入文档是从文件的最开始写起的,如果将data1和data2分别写入,则后面的内容是会覆盖前面的内容的,达不到我们的目的,所以需要用一个数组去储存我们想写入的内容,最后一次写入。
    目前还没相当能实现列写入的方法。。。

    展开全文
  • python爬虫——爬取数据导入excel

    千次阅读 多人点赞 2020-07-25 19:31:04
    1、导入第三方库 requests库、re、html、xlwt from urllib import request import requests import re import html import xlwt

    1、导入第三方库

    requests库、re、html、xlwt

    from bs4 import BeautifulSoup #解析网页
    import re #正则表达式,进行文字匹配
    import urllib.request,urllib.error  #制定url,获取网页数据
    import xlwt  #进行excel操作
    import sqlite3  #进行SQLite数据库操作
    

    2、申请访问网页

    def askURL(url):
        head = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.116 Safari/537.36"
        } #伪装成网页的形式,请求网页信息
        request = urllib.request.Request(url,headers=head)
        html = ""
        try:
            response = urllib.request.urlopen(request)
            html = response.read().decode("utf-8")
            #print(html)
        except urllib.error.URLError as e:
            if hasattr(e,"code"):
                print(e.code)
            if hasattr(e,"reason"):
                print(e.reason)
        return html
    

    url:想要爬取的网址

    User-Agent获取方法:
    在这里插入图片描述

    3、获取数据(正则表达式)

    #电影链接
    findLink = re.compile(r'<a href="(.*?)">')
    #封面图片
    findImgSrc = re.compile(r'<img.*src="(.*?)".*>',re.S)
    #电影名称
    findTitle = re.compile(r'<span class="title">(.*)</span>')
    #评分
    findRating = re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
    #评价人数
    findJudge = re.compile(r'<span>(\d*)人评价</span>')
    #概况
    findInq = re.compile(r'<span class="inq">(.*)</span>')
    #电影详细内容
    findBd = re.compile(r'<p class="">(.*?)</p>',re.S)
    

    通过查看网页源代码,找出要获取数据的“格式”,用正则表达式来获取数据
    (.*?)是要获取的数据,不加括号则无法获取

    4、创建excel表

    book = xlwt.Workbook(encoding="utf-8",style_compression=0)
    sheet = book.add_sheet('豆瓣电影Top250',cell_overwrite_ok=True)
    book.save('豆瓣电影Top250.xls')
    

    创建完成后,将数据导入到excel表中


    【完整代码】

    from bs4 import BeautifulSoup #解析网页
    import re #正则表达式,进行文字匹配
    import urllib.request,urllib.error  #制定url,获取网页数据
    import xlwt  #进行excel操作
    import sqlite3  #进行SQLite数据库操作
    
    def main():
        baseurl = "https://movie.douban.com/top250?start="
        #爬取网页
        datalist = getData(baseurl)
        #保存数据
        savepath = "豆瓣电影Top250.xls"
        saveData(datalist,savepath)
    #电影链接
    findLink = re.compile(r'<a href="(.*?)">')
    #封面图片
    findImgSrc = re.compile(r'<img.*src="(.*?)".*>',re.S)
    #电影名称
    findTitle = re.compile(r'<span class="title">(.*)</span>')
    #评分
    findRating = re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
    #评价人数
    findJudge = re.compile(r'<span>(\d*)人评价</span>')
    #概况
    findInq = re.compile(r'<span class="inq">(.*)</span>')
    #电影详细内容
    findBd = re.compile(r'<p class="">(.*?)</p>',re.S)
    
    #爬取网页
    def getData(baseurl):
        datalist = []
        for i in range(0,10):
            url = baseurl + str(i*25)
            html = askURL(url)
    
    
            #逐一解析数据
            soup = BeautifulSoup(html,"html.parser")
            for item in soup.find_all('div',class_="item"):
                #print(item)
                data = []
                item = str(item)
    
                Link = re.findall(findLink,item)[0]
                data.append(Link)
    
                ImgSrc = re.findall(findImgSrc,item)[0]
                data.append(ImgSrc)
    
                Title = re.findall(findTitle,item)
                if len(Title)==2:
                    ctitle = Title[0]
                    data.append(ctitle)
                    otitle = Title[1].replace("/","")
                    data.append(otitle)
                else:
                    data.append(Title[0])
                    data.append(' ')
    
                Rating = re.findall(findRating,item)[0]
                data.append(Rating)
    
                Judge = re.findall(findJudge,item)[0]
                data.append(Judge)
    
                Inq = re.findall(findInq,item)
                if len(Inq) !=0:
                    Inq = Inq[0].replace("。","")
                    data.append(Inq)
                else:
                    data.append(" ")
    
                Bd = re.findall(findBd,item)[0]
                Bd = re.sub('<br(\s+)?/>(\s+)?'," ",Bd)
                data.append(Bd.strip())
    
                datalist.append(data)    #把处理好的一个电影信息存储到datalist中
        #解析网页
        return datalist
    
    #获取指定一个网页内容
    def askURL(url):
        head = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.116 Safari/537.36"
        } #伪装成网页的形式,请求网页信息
        request = urllib.request.Request(url,headers=head)
        html = ""
        try:
            response = urllib.request.urlopen(request)
            html = response.read().decode("utf-8")
            #print(html)
        except urllib.error.URLError as e:
            if hasattr(e,"code"):
                print(e.code)
            if hasattr(e,"reason"):
                print(e.reason)
        return html
    #保存数据
    def saveData(datalist,savepath):
        print("save....")
        book = xlwt.Workbook(encoding="utf-8",style_compression=0)
        sheet = book.add_sheet('豆瓣电影Top250',cell_overwrite_ok=True)
        col = ("电影详情链接","封面链接","影片中文名","影片外国名","评分","评价数","概况","相关信息","")
        for i in range(0,8):
            sheet.write(0,i,col[i])
        for i in range(0,250):
            print("第%d条"%(i+1))
            data = datalist[i]
            for j in range(0,8):
                sheet.write(i+1,j,data[j])
        book.save('豆瓣电影Top250.xls')
    
    
    main()
    print("爬取完毕")
    

    【运行结果】

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 爬虫+数据导入Excel

    万次阅读 2016-12-04 22:34:38
    由于需要将服务端传到网页的数据做成表格,于是就有了下面一系列。。。  首先还是先说明一下,下面写的水平只是入门,因为一个小时前,我还不知道Python原来是一门语言。。。  一、使用爬虫获取网页传回来的...
  • 主要介绍了python智联招聘爬虫导入excel代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 该需求如下: ... 并将其写入excel表格。...难点在于这个每个url的显示的字段是不一样的,需要作出判断,而且格式需求对齐导入excel。 接下来上代码: #抓取文本并导入到excel表格当中 import request...
  • Python3.5-爬虫实战-爬取网页数据并且导入excel

    万次阅读 热门讨论 2018-04-26 12:01:46
    应朋友之约,帮他做个爬虫,并且每个网页的数据都分别导入excel中。目标网站:http://www.hs-bianma.com/hs_chapter_01.htm根据我的观察,网页采取的是&lt;td&gt;&lt;th&gt;制成表格来存放数据,...
  • excel是一种表格文件,在Python数据分析中,我们同样可以使用pandas模块导入excel表格里面的数据。 ·导入MySQL数据库里的数据 MySQL是一种很常见的数据库,在Python数据分析中,我们也可以直接从MySQL.
  • xlwt 对Excel做写入操作 2.爬取b站热门视频的信息:   打开b站热门视频页面:   按f12进入开发者选项,然后点击选中你要获取的页面信息,即可找到该信息在该HTML文件中的什么位置(这对我们用xpath获取元素属性...
  • 项目实战,使用xpath解析爬取豆瓣图书Top250,并用csv导入excel # -*- coding: utf-8 -*- # @Time : 2020/6/5 22:23 # @Author : JohnnyLin # @FileName: demo.py # @Software: PyCharm # 1、导入需要用到的库 ...
  • Python 爬虫 Excel 表格数据

    千次阅读 2020-01-13 15:51:20
    需求: 取文件夹中所有xls或xlsx表格文件,遍历每一张sheet单页,汇总所需要的...xlrd是Python语言中,用来读取Excel的扩展工具。先安装xlrd后导入,代码中直接调用即可。 原本对应xlrd库的是xlwt库,但是xlwt不争气...
  • 本文简单使用python的requests库及re正则表达式对淘宝的商品信息(商品名称,商品价格,生产地区,以及销售额)进行了爬取,并最后用xlsxwriter库将信息放入Excel表格。最后的效果图如下: 提示:以下是本篇文章...
  • python 爬虫+写入excel 小案例

    千次阅读 2020-05-27 15:59:41
    openpyxl excel 文件的读写 xlwt 此库只能用来创建写入新的excel 表 import requests from bs4 import BeautifulSoup from openpyxl import load_workbook import xlwt headers = { "User-Agent": "Mozilla/5.0 ...
  • 今天我们来学习数据导入,需要使用到Pandas模块。模块相当于是一个文件夹,它能够用于存放同个主题相关的Python代码段,包括定义函数、类和变量。例如将数据处理相关的函数都存放在一个模块里,将数据分析相关的函数...
  • 最近在学习网页爬虫时就遇到了这样一种问题,中文网站爬取下来的内容往往中文显示乱码。看过我之前博客的同学可能知道,之前爬取的一个学校网页就出现了这个问题,但是当时并没有解决,这着实成了我一个心病。这不,...
  • 这篇文章是看了@小M姐姐呀~的一篇《利用EXCEL进行数据爬虫》,原理也很简单,以下是实践练习记录。 利用EXCEL进行数据爬虫https://blog.csdn.net/baidu_41833099/article/details/118196280小M姐姐呀~...
  • 当我们在工作学习中需要获取一些网站的数据...1、 新建一个excel表格,点击标题栏中的数据-自网站2、 在出现的弹框中输入我们想要提取信息的网站,我们以2019年世界人口排名数据为例(http://www.chamiji.com/countr...
  • python爬虫的各种存储方式之 3.Excel文档的存储和读取 判断目录,有则打开,没有新建 import os if os.path.exists('D:\Python\代码\数据爬取'): os.chdir('D:\Python\代码\数据爬取') else: os.mkdir('D:\...
  • 用Python做爬虫时,提取Excel数据

    千次阅读 2019-07-15 17:35:36
    最近做爬虫时,需要根据excel里的数据进行爬取,在此记录一下excel里的数据如何导入,代码如下: import xlrd data = xlrd.open_workbook(r'此处为excel文件.xlsx') #默认当前路径 # 获取所有的sheet sheet_name =...
  • 【问题记录】python爬虫写入excel问题

    千次阅读 2019-07-01 09:02:42
    最近开始使用openpyxl将爬虫获取的内容写入excel。今天遇到了一个很蠢的问题。就是append的时候报错:can not convert [‘xxxx’] to excel 其实就是openpyxl里面用append()方法按行写入,写入的数据要求是字符串...
  • 爬虫学习打卡5——将爬取数据放入Excel

    万次阅读 多人点赞 2018-08-07 17:44:58
    写在前面的话:每一个实例的代码都会附上相应的代码片或者图片,保证代码完整展示在博客中...爬虫学习打卡3——xpath https://blog.csdn.net/Leo_Huang720/article/details/81433841中我们已经用xpath在豆瓣图书TOP2...
  • 纯粹学习一下爬虫,以后拿数据之类的保不准真的要用到,本篇聊作学习记录。 1、网页url查看 现在的网页都是异步传输的网页了,就是说地址栏的网址不变的情况下刷新网页的一部分内容 所以从地址栏网址上根本看不出...
  • python爬虫实战——爬取猫眼电影TOP100并导入excel

    千次阅读 多人点赞 2020-11-17 17:55:56
    python爬虫实战——爬取淘宝商品信息并导入EXCEL表格(超详细). python多线程爬取壁纸 妈妈再也不担心我没壁纸了!. python爬虫爬取虎牙数据(简单利用requests库以及Beautifulsoup). python爬虫之爬取壁纸(新手...
  • 在编写Python程序的时候,有很多库供我们...在掌握一些基本的爬虫知识之后,自己想做一些爬虫进阶的实战项目,比如使用一些框架(scrapy、pyspider等)、还有使用代理池等等。还有很多知识要学习自己加油吧。
  • 二、抓取大众点评,导入excel。赵本宣言老师源码。 import requestsfrom bs4 import BeautifulSoupimport xlwtdef get_content(url,headers=None,proxy=None): html=requests.get(url,headers=headers)....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,564
精华内容 2,625
关键字:

爬虫导入excel表格

爬虫 订阅