Apache Axis

python爬虫实例,一小时上手爬取淘宝评论(附代码)

你。 提交于 2020-04-24 00:39:22
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 1 明确目的 通过访问天猫的网站,先搜索对应的商品,然后爬取它的评论数据。可以作为设计前期的市场调研的数据,帮助很大。 2 爬取评论并储存 (首先要进行登录,获取cookie)搜索你想收集的信息的评价,然后点开对应的产品图片。找到对应的评价的位置。 找到对应的位置之后就可以进行数据的爬取了,但是在爬取的过程中发现始终无法获取对应的数据。判断可能是因为没有添加cookie导致的,但是在添加了cookie之后发现依旧无法解决问题。 最后,发现应该是显示的数据是通过json解析之后显示在网页上的,因此需要多一些步骤来获取真正的爬取链接。 首先在network中,清除掉以往的数据信息,然后将页面进行刷新,复制其中的一条信息,进行搜索。在4中获得链接,并在5中获取到链接。 找到文件里面的访问url、cookie、referer、agent,将其复制在程序里。 大功告成,现在就可以进行数据的爬取了。 import pandas as pd import requests import re import time data_list = [] for i in range(1,20,1 ): print ( " 正在爬取第 " + str(i) + " 页 " ) #

python爬虫实例,一小时上手爬取淘宝评论(附代码)

纵然是瞬间 提交于 2020-04-23 22:32:48
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 1 明确目的 通过访问天猫的网站,先搜索对应的商品,然后爬取它的评论数据。可以作为设计前期的市场调研的数据,帮助很大。 2 爬取评论并储存 (首先要进行登录,获取cookie)搜索你想收集的信息的评价,然后点开对应的产品图片。找到对应的评价的位置。 找到对应的位置之后就可以进行数据的爬取了,但是在爬取的过程中发现始终无法获取对应的数据。判断可能是因为没有添加cookie导致的,但是在添加了cookie之后发现依旧无法解决问题。 最后,发现应该是显示的数据是通过json解析之后显示在网页上的,因此需要多一些步骤来获取真正的爬取链接。 首先在network中,清除掉以往的数据信息,然后将页面进行刷新,复制其中的一条信息,进行搜索。在4中获得链接,并在5中获取到链接。 找到文件里面的访问url、cookie、referer、agent,将其复制在程序里。 大功告成,现在就可以进行数据的爬取了。 import pandas as pd import requests import re import time data_list = [] for i in range(1,20,1 ): print ( " 正在爬取第 " + str(i) + " 页 " ) #

jieba库使用以及好玩的词云

↘锁芯ラ 提交于 2020-04-23 11:00:17
jieba库、词云(wordcloud)的安装 打开window的CMD(菜单键+R+Enter) 一般情况下:输入pip install jiaba(回车),等它下好,建议在网络稳定的时候操作 不行就试试这个:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jiaba 词云安装也是如此:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wordcloud 显示Successfully installed....就安装成功了(如下图👇:) jieba库的使用 用jieba库分析文章、小说、报告等,到词频统计,并对词频进行排序 代码👇 (仅限用中文): 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Apr 22 15:40:16 2020 4 5 @author: ASUS 6 """ 7 # jiaba词频统计 8 import jieba 9 txt = open(r ' C:\Users\ASUS\Desktop\创意策划书.txt ' , " r " , encoding= ' gbk ' ).read() # 读取文件 10 words = jieba.lcut(txt) # lcut(

pandas DataFrame.shift()函数

♀尐吖头ヾ 提交于 2020-04-23 02:43:13
pandas DataFrame.shift()函数可以把数据移动指定的位数 period参数指定移动的步幅,可以为正为负.axis指定移动的轴,1为行,0为列. eg: 有这样一个DataFrame数据: import pandas as pd data1 = pd.DataFrame({ ' a ' : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ], ' b ' : [9, 8, 7, 6, 5, 4, 3, 2, 1 , 0] }) print data1 a b 0 0 9 1 1 8 2 2 7 3 3 6 4 4 5 5 5 4 6 6 3 7 7 2 8 8 1 9 9 0 如果想让 a和b的数据都往下移动一位: data2 = data1.shift(axis=0 ) print data2 a b 0 NaN NaN 1 0.0 9.0 2 1.0 8.0 3 2.0 7.0 4 3.0 6.0 5 4.0 5.0 6 5.0 4.0 7 6.0 3.0 8 7.0 2.0 9 8.0 1.0 如果是在行上往右移动一位: data3 = data1.shift(axis= 1) print data3 a b 0 NaN 0.0 1 NaN 1.0 2 NaN 2.0 3 NaN 3.0 4 NaN 4.0 5 NaN 5.0 6 NaN 6.0

【RAY TRACING THE REST OF YOUR LIFE 超详解】 光线追踪 3-5 random direction & ONB

被刻印的时光 ゝ 提交于 2020-04-22 03:50:55
Preface 往后看了几章,对这本书有了新的理解 上一篇,我们第一次尝试把MC积分运用到了Lambertian材质中,当然,第一次尝试是失败的,作者发现它的渲染效果和现实有些出入,所以结尾处声明要通过实践,改进当前的效果 于是乎,就有了后面的章节,几乎整本书都在讲,如何一步一步地改进上一篇的画质,使其更加符合现实,上一篇其实是抛砖引玉 这本书的小标题名为the rest of your life 通过前面几章,我们可以更好地理解这句话:我们通过MC积分优化效果,采用的是pdf函数,之前说过,这就是一场游戏:寻找一个pdf函数,使得使用它进行重要性采样得到的渲染图形更加贴合实际,其实它是没有止境的,比如pdf是一次曲线、二次曲线、高次曲线、正态分布、高斯分布等等,对应的研究方法也是没有止境的,比如:你可以通过对光源进行pdf采样实现最终目的(比如在双向追踪中,光源也要发射光线),你也可以通过对不同材质表面的反射状态进行pdf采样,进而使得表面颜色变化更光滑更柔和更贴合实际。 上述为个人理解,可能有些出入,吾姑妄言之,汝姑妄听之,便罢。 Ready 上述说到抛砖引玉,但是好像我们用的不是一张图,思量再三,还是先把砖整一个,毕竟之后都是围绕那块砖评说效果的,另辟蹊径可能不是明智之举 所以,我们先把砖搞到手 造砖的代码: void Cornell(intersections**

Unity 随机地图房间通道生成

こ雲淡風輕ζ 提交于 2020-04-21 13:19:41
之前的博客中已经说了随机房间生成: https://www.cnblogs.com/koshio0219/p/12604383.html 但实现房间生成只是整个地图生成最初最简单的一步。下面讨论如何随机生成连接房间的通道。 房间的通道一般要满足以下特性和特征: 1.保证所有随机生成的房间都可以通过通道从起点到达终点,不出现未连接或连接中断的情况。 2.通道在生成的过程中不能穿过房间内部。 3.考虑是简洁直接的连接方式,还是更为曲折的通道。 现在,眼前出现了很多随机生成的房间,那么问题是:到底哪两个房间需要连接一条通道呢,如果以最快的速度得出所有需要连接的通道列表呢? 这时,我们先不用将空间中生成的这些房间仅仅当前是房间来看待,实质上它们就是分布在空间中的一些点的集合,每一个点都能求出当前离它们最近的点是哪一个, 那么一个非常简单的算法是,我们可以记录两个列表:已经处于连接状态的点的列表(闭合列表),尚未取得连接的点的列表(开放列表)。 先随机一个点作为起点,连接离该起点最近的点,将起点和改点置入闭合列表中,再以第二个点作为起点连接最近的点,以此方式不断循环,直至所有的开放列表清空,所有通道的连接数据即全部计算完毕。 上面这样虽然可以很快得出所有连接的通道列表,但缺乏连接的随机性,也无法产生分支路径,游戏性很低。 因此,可以考虑给每个连接的点增加额外分支的概率

NetworkX系列教程(7)-对graph进行分析

北城余情 提交于 2020-04-20 09:05:49
小书匠 Graph 图论 graph构建完成后,对graph的连通等属性进行分析. 目录: 8.对图进行分析 8.1连通子图 8.2弱联通 8.3强连通 8.4子图 8.5条件过滤 注意: 如果代码出现找不库,请返回第一个教程,把库文件导入. 8.对图进行分析 强连通:有向图中任意两点v1、v2间存在v1到v2的路径(path)及v2到v1的路径。 弱联通:将有向图的所有的有向边替换为无向边,所得到的图称为原图的基图。如果一个有向图的基图是连通图,则有向图是弱连通图。 8.1连通子图 #定义图的节点和边 nodes=[ '0' , '1' , '2' , '3' , '4' , '5' , 'a' , 'b' , 'c' ] edges=[( '0' , '0' , 1 ),( '0' , '1' , 1 ),( '0' , '5' , 1 ),( '0' , '5' , 2 ),( '1' , '2' , 3 ),( '1' , '4' , 5 ),( '2' , '1' , 7 ),( '2' , '4' , 6 ),( 'a' , 'b' , 0.5 ),( 'b' , 'c' , 0.5 ),( 'c' , 'a' , 0.5 )] #定义graph G = nx.Graph() G.add_nodes_from(nodes) G.add_weighted_edges

NetworkX系列教程(7)-对graph进行分析

a 夏天 提交于 2020-04-20 08:18:44
小书匠 Graph 图论 graph构建完成后,对graph的连通等属性进行分析. 目录: 8.对图进行分析 8.1连通子图 8.2弱联通 8.3强连通 8.4子图 8.5条件过滤 注意: 如果代码出现找不库,请返回第一个教程,把库文件导入. 8.对图进行分析 强连通:有向图中任意两点v1、v2间存在v1到v2的路径(path)及v2到v1的路径。 弱联通:将有向图的所有的有向边替换为无向边,所得到的图称为原图的基图。如果一个有向图的基图是连通图,则有向图是弱连通图。 8.1连通子图 #定义图的节点和边 nodes=[ '0' , '1' , '2' , '3' , '4' , '5' , 'a' , 'b' , 'c' ] edges=[( '0' , '0' , 1 ),( '0' , '1' , 1 ),( '0' , '5' , 1 ),( '0' , '5' , 2 ),( '1' , '2' , 3 ),( '1' , '4' , 5 ),( '2' , '1' , 7 ),( '2' , '4' , 6 ),( 'a' , 'b' , 0.5 ),( 'b' , 'c' , 0.5 ),( 'c' , 'a' , 0.5 )] #定义graph G = nx.Graph() G.add_nodes_from(nodes) G.add_weighted_edges

Python数据分析Pandas库之熊猫(10分钟一)

北城以北 提交于 2020-04-19 04:18:18
pandas熊猫10分钟教程 排序 df.sort_index(axis=0/1,ascending=False/True) df.sort_values(by='列名') import numpy as np import pandas as pd #生成10行10列的随机整数 np. radnom. randint( 10, size=( 10, 10)) #按照多列排序,现根据第一列排序,在根据第二列排序,都是升序 df. sort_values( by=[ '列明1', '列明2',....]) pandas重点方法大全 df.loc[data[0],'A'] 找第一行的A数据 df.at[data[0],'A'] 同上 df.iloc[1,1] = df.iat[1,1] 找对应位置的值 df.columns.str.replace('-'.'')转换成字符串 , lower()小写 矩阵合并 pd.concat([a,b.....]) SQL方式合并: pd.merge(a,b,on='连接列') 追加 df.append(一维矩阵,ignort_index=False) 原文出处:https://www.cnblogs.com/guofeng-1016/p/10132468.html 来源: oschina 链接: https://my.oschina.net/u

pandas数据合并之一文弄懂pd.concat()

十年热恋 提交于 2020-04-18 17:33:01
CDA数据分析师 出品 在工作中经常会遇到多个表进行拼接合并的需求,在pandas中有多个拼接合并的方法,每种方法都有自己擅长的拼接方式,这篇文章只对pd.concat()进行详细讲解,希望能帮助有需要的朋友一次彻底弄清楚它的用法。 pd.concat()函数简介 pd.concat()函数可以沿着指定的轴将多个dataframe或者series拼接到一起,这一点和另一个常用的pd.merge()函数不同,pd.merge()函数只能实现两个表的拼接。文章的主题是pd.concat()函数,接下来认识一下这个函数吧: pd.concat( objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True,) 以上是有关pd.concat()函数的所有参数,接下来通过例子对常用参数进行讲解。 参数axis 假设有两个来自不同部门的表格,一个来自销售部门,一个来自人力部门,这两个表一般会有一两个相同的列,大多数列名不同,但是行索引相同,因为是对同一批人不同信息的统计。 来看个例子: 来自销售部门的表df_s 来自人力部门的表df_h 通过上边的例子