python爬虫之git的安装

 一、初始1、发展历史*最开始没有对代码的管理,导致很多东西混乱和丢失。*后来大家想了一个办法,用最简单最笨的方法,各种复制文件夹。*然后就出现了版本控制的工具。  1、单机版:RCS(1982),SCCS(1972)  2、客户端-服务器:CVS(1986)Subversion(2000)  3、分布式(多个服务器):Git(2005)  分布式:例如,我可以把代码同时放到github和coding.net,其实就是多个服务器。2、读音:git,不是jit。作者:linus,就是Linux操作系统的作者。git工具是一个全世界都在用的版本控制工具。3、优缺点:  1、SVN和CVS合并困难  2、几乎无法使用分支(使用copy的策略来建立分支)  3、离开服务器就不能提交代码4、Github是目前世界上最大的开源社区(Ruby语言写的),几乎所有的开源项目都在Github上。 二、安装1、系统环境操作系统:Centos7-1611Git版本:git-2.9.5.tar.gz(参考地址:https://www.kernel.org/pub/software/scm/...
代码星球 代码星球·2020-04-02

python爬虫之初始Selenium

1、初始  Selenium[1]  是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaFirefox,Safari,GoogleChrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。2、使用方法  案例:  需求:  公司购买了一一批优科无线AP,本人刚涉足python爬虫行业,需要实现的功能就是,对好几十台优科无线AP进行定时重启。原来做过TP-LINK941n的无线路由器定时重启,按照原来的思路进行寻找方法-------抓包。通过抓取重启路由器的链接,对无线路由器进行定时重启(定时的事情就交给操作系统自带的任务计划)。然后就开始了抓包操作,然而最终还是以失败告终---也许因为我对抓包工具不太...

python爬虫之MongoDB测试环境安装

 一.  下载从http://www.mongodb.org/downloads地址中下载:mongodb-linux-x86_64-2.4.11.tar 二. 安装1>设置mongoDB目录[root@vm13home]#cd/home/apps     附:centOS下创建目录命令 [root@vm13home]#mkdir-p/home/apps2>将文件mongodb-linux-x86_64-2.4.11.tar上传至/home/apps目录3>解压缩文件[root@vm13apps]#tarxzfmongodb-linux-x86_64-2.4.11.tar文件夹重命名[root@vm13apps]#mvmongodb-linux-x86_64-2.4.11mongodb4>创建目录与文件[root@vm13apps]#mkdir-p mongodb/data/db[root@vm13apps]#mkdir-p mong...

python爬虫之pandas

   PythonDataAnalysisLibrary或pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。   官网:   http://pandas.pydata.org/pandas-docs/stable/10min.html    http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook importpandas    1、需求,用python爬虫爬到了一些数据,但是不想把数据直接保存的数据库里面(前提是数据不是很大),所以想直观的看到数据。  importpandasimportopenpyxl#如果我把一些字典放到里面,最后想把这个列表用excel或者html或者csv文件展示出来,就可以直接这么用data_end=[]...
代码星球 代码星球·2020-04-02

python爬虫之正则表达式

  正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。  compile函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。  1、简单看一下写法  函数语法:  re.match(pattern,string,flags=0)  函数参数说明:参数描述pattern匹配的正则表达式string要匹配的字符串。flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。  匹配成功re.match方法返回一个匹配的对象,否则返回None。  我们可以使用group(num)或groups()匹配对象函数来获取匹配表达式。匹配对象方法描述group(num=0)匹配的整个表达式的字符串,group()可以一次输入多个组号,在这种情况下...

python爬虫之Beautiful Soup的基本使用

  简单来说,BeautifulSoup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:  BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。  BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,BeautifulSoup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。  BeautifulSoup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。   BeautifulSoup3目前已经停止开发,推荐在现在的项目中使用BeautifulSoup4,不过它已经被移植到BS4了,也就是说导入时我们需要frombs4importBeautifulSoup 。所以这里我们用的版本是BeautifulSoup4....

python爬虫之requests的基本使用

  Requests是用python语言基于urllib编写的,采用的是Apache2Licensed开源协议的HTTP库,Requests它会比urllib更加方便,可以节约我们大量的工作。 pip快速安装pipinstallrequests     1、先上一串代码importrequestsresponse=requests.get("https://www.baidu.com")print(type(response))print(response.status_code)print(type(response.text))response.enconding="utf-8'print(response.text)print(response.cookies)print(response.content)print(response.content.decode("utf-8"))  response.text返回的是Unicode格式,通常需要转换为utf-8格式,否则就是乱码。response.content是二进制模式,可以下载视频...

vue-2.1-品牌案例的添加、删除、和搜索功能

<head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv="X-UA-Compatible"content="ie=edge"><title>Document</title><scriptsrc="../lib/vue.min.js"></script><linkrel="stylesheet"href="../lib/bootstrap.min.css"><!--https://files.cnblogs.com/files/cgy-home/bootstrap.min.css--></head><body><divid="app"><divclass="panelpanel-primary"><divclass="panel-heading">&...

C基础 mariadb处理简单案例

引言   MariaDB是一款灰常不错开源数据库.这里直接用它来解决业务问题.业务需求:  现在数据库中表示按照天分表的.突然我们需要按照月来处理数据.例如输入一个玩家id,查找这个玩家这个月内看了一件事几次.我们先搭建一个环境.操作系统:Linuxversion4.4.0-22-generic(buildd@lgw01-41)(gccversion5.3.120160413(Ubuntu5.3.1-14ubuntu2))#40-UbuntuSMPThuMay1222:03:46UTC2016  首先安装MariaDB数据库sudoapt-getinstallmariadb-serversudoapt-getinstallmariadb-clientsudoapt-getinstalllibmariadb2sudoapt-getinstalllibmariadb-client-lgpl-devsudoapt-getinstalllibreoffice-mysql-connector 后面是C访问MariaDB驱动.这里扯一点,目前关于MariaD...

【Python3爬虫】快就完事了--使用Celery加速你的爬虫

  在上一篇博客中提到过对于网络爬虫这种包含大量网络请求的任务,是可以用Celery来做到加速爬取的,那么,这一篇博客就要具体说一下怎么用Celery来对我们的爬虫进行一个加速! 1.classcelery.group  group这个类表示创建一组要并行执行的任务,不过一组任务是懒惰的,所以你需要运行并对其进行评估。要了解这个类,可以查看文档,或者在Pycharm中直接Ctrl+左键就能直接查看源码了,如下图:    当然了,直接看源码还不够,最好还是自己动下手。所以先创建一个test.py,其中代码如下:1fromceleryimportCelery234app=Celery("test",broker="redis://127.0.0.1:6379",backend="redis://127.0.0.1:6379")567@app.task8defadd(x,y):9returnx+y101112if__name__=='__main__':13app.start()  然后运行Celery服务器,再在test.py所在目录下创建一个test_run.py用于测试,其中...

Python3爬虫】学习分布式爬虫第一步--Redis分布式爬虫初体验

  之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验。所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对IP的检测。本文介绍的是利用Redis数据库实现的分布式爬虫,Redis是一种常用的菲关系型数据库,常用数据类型包括String、Hash、Set、List和SortedSet,重要的是Redis支持主从复制,主机能将数据同步到从机,也就能够实现读写分离。因此我们可以利用Redis的特性,借助requests模块发送请求,再解析网页和提取数据,实现一个简单的分布式爬虫。   Python版本:Python3  Redis版本:5.0  IDE:Pycharm 由于Windows下的安装配置比较简单,所以这里只说Linux环境下安装和配置Redis(以Ubuntu为例)。1.安装Redis1)apt安装:$ sudoapt-getinstallredis-server2)编译安装:$ wget http://download.redis.io/relea...

Python3爬虫】当爬虫碰到表单提交,有点意思

  我写爬虫已经写了一段时间了,对于那些使用GET请求或者POST请求的网页,爬取的时候都还算得心应手。不过最近遇到了一个有趣的网站,虽然爬取的难度不大,不过因为表单提交的存在,所以一开始还是有点摸不着头脑。至于最后怎么解决的,请慢慢往下看。   这次爬取的网站是:https://www.ctic.org/crm?tdsourcetag=s_pctim_aiomsg,该网站提供了美国的一些农田管理的数据。要查看具体的数据,需要选择年份、单位、地区、作物种类等,如下图:  根据以往的经验,这种表单提交都是通过ajax来完成的,所以熟练地按F12打开开发者工具,选择XHR选项,然后点击“ViewSummary”,结果却什么都没有......  这是怎么回事?不急,切换到All看一下有没有什么可疑的东西。果然就找到了下面这个,可以看到在FormData中包含了很多参数,而且可以很明显看出来是一些年份、地区等信息,这就是表单提交的内容:  可以注意到在这些参数中有一个_csrf,很明显是一个加密参数,那么要怎么得到这个参数呢?返回填写表单的网页,在开发者工具中...

Python3爬虫】最新的12306爬虫

  我在以前写过一次12306网站的爬虫,当时实现了模拟登录和查询车票,但是感觉还不太够,所以对之前的代码加以修改,还实现了一个订购车票的功能。  在使用Selenium做模拟登录12306网站的时候,需要将登录成功后的Cookie保存下来,这个Cookie在后面是必需的。然后就是在12306网站上查票订票,同时使用Fiddler软件进行抓包,通过分析得到订票所需的十多个请求,只要依次发送这些请求,在请求成功之后就能够订到票。  之前的代码已经基本实现了模拟登录的功能,但是还没法得到想要的Cookie,所以需要对之前的代码进行改进。虽然Selenium模块提供了get_cookies()方法,但是使用这个方法得到的是当前会话的Cookie,也就是Selenium开启的浏览器中当前页面的Cookie,这个Cookie和本地浏览器中的Cookie是不同的。如下是从本地Chrome中拷贝的Cookie,其中以_jc_save开头的字段都是之前查询车票的记录,而其余字段都是生成的:JSESSIONID=A318817EEE594DE954CE352761DF4CD7;_jc_save_from...
代码星球 代码星球·2020-03-31

Python3爬虫】你会怎么评价复仇者联盟4?

最近复仇者联盟4正在热映中,很多人都去电影院观看了电影,那么对于这部电影,看过的人都是怎么评价的呢?这时候爬虫就可以派上用场了! 首先打开豆瓣电影,然后进入复仇者联盟4的详情页面:https://movie.douban.com/subject/26100958/,下拉页面就可以找到这部电影的短评了:虽然它显示的短评有85751条,但是我们却没有办法获取所有的短评,在未登录的情况下只能看到200条短评,登录之后也只能得到500条短评,可是只有500条怎么够呢?所以我们得想办法得到尽量多的短评,思路为分别选择好评、一般、短评和最新,不过最新的短评只显示100条,所以我们能爬取的短评数量就是1600条。当我们把短评爬取下来之后,可以先把短评数据保存到数据库中,然后再对这些短评进行分析。这里我选择用MongoDB数据库来保存数据,然后使用SnowNLP进行情感分析,再使用jieba分词和wordcloud生成词云。 1.模拟登录这一步是很重要的,我们需要带着登录之后的Cookie去发送请求才能得到数据,当然也可以打开浏览器登录之后复制Cookie,具体怎么做看个人喜好。登...

Python3爬虫】最新的模拟登录新浪微博教程

首先呢,由于之前重装系统,又要重新配置环境,然后还有一些别的事,导致我一直没有写爬虫了,不过现在又可以继续写了。然后我这次说的模拟登录新浪微博呢,不是使用Selenium模拟浏览器操作,毕竟Selenium的效率是真的有些低,所以我选择用Python发送请求实现模拟登录,整个过程还算是有点小曲折吧。 Windows10+Python3.7+Pycharm+Fiddler 首先打开新浪微博,网址为:https://weibo.com/,这里我们只需要关注登录这一部分,如下图:这样看是看不出来东西的,打开开发者工具,刷新一下页面,找找看有没有什么可疑的东西,然后就能找到下面这个包:看到prelogin就能猜到应该是和登录有关的了,于是点击“Preview”查看具体内容:到这里还是什么都看不出来,也不知道这些数据有什么用。这时候Fiddler就能派上用场了,首先打开Fiddler,然后在网页上输入用户名和密码并登录新浪微博,登录成功之后在Fiddler中找寻相关信息,可以找到下面这个url:https://login.sina.com.cn/sso...
首页上一页...4748495051...下一页尾页