Python中使用Requests爬虫实现小说爬取
前言这里只需要一个py文件就能实现数据采集它区别于之前记录的方式,这里没有使用Scrapy框架,直接通过Requests提取使用Requests,需要提前下载好第三方插件库代码注释我已经写的挺清晰的了~~~
目标:
创建普通的python爬虫项目
爬取正确的数据(1) 对爬取的数据进行格式转换
爬取的数据进行数据库存储
新建一个py文件文件名:myCrawler.py
py代码如下12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061# coding:utf-8import requestsfrom lxml import etreeimport pymysql # 执行命令:python myCrawler.pydef job(): # 获取网页源代码 url = 'http://book.zongheng.com/chapter/885037/58155562.html' ...
Python中使用Scrapy实现服务部署及定时调度
前言这篇记录一下如何部署Scrapy项目
上传项目通过Xftp将项目丢到服务器的 /home 目录下
执行项目非调度执行先在服务器的 /home 路径下创建两个文件夹 crawler、logs执行爬虫(scrapy crawl test),并打印日志(/home/logs/crawlerDemo.log),代码如下:
1cd /home/crawler/crawlerDemo && nohup scrapy crawl test > /home/logs/crawlerDemo.log 2>&1 &
调度执行同样的,先在服务器的 /home 路径下创建两个文件夹 crawler、logs新建一个调度py文件,注意:调度py文件需要建在这一层级中,否则会出现意想不到的惊喜 ~ ~ ~
1234567891011121314151617181920212223242526272829303132333435363738import loggingimport scheduleimport subprocessimport os # 需要调 ...
Python中使用Scrapy爬虫实现MySQL数据库存储
前言Python刚接触,基础不好,都是现拉过来直接搞爬虫,脑子笨,边学边记录。这里使用Scrapy框架,相关信息需自行百度。这里是在【《Python笔记》Scrapy爬虫(1)本地存储】的代码基础,并需要满足下面几个条件
使用Scrapy框架,需要提前下载好第三方库目标:
本地安装所需要的各种环境,按照自己需要的安装
创建scrapy爬虫项目
爬取正确的数据
对爬取的数据进行格式转换
爬取的数据进行本地存储(存入txt文…
目标:
爬取正确的数据(1) 对爬取的数据进行格式转换(2) 根据自定义规则,拆分标题、章节数
爬取多个章节,支持分页,下一页爬取
爬取的数据存入数据库(1) 新建数据库(2) settings.py中配置数据连接信息(3) 引入已经写好的mysql.py(4) 判断数据库是否存在,避免爬取的数据重复(5) 新数据存库
引入 mysql.py我这里直接引用别人写好的 mysql.py 数据库连接工具,也可以自己手写
123456789101112131415161718192021222324252627282930313233343536373839 ...
Python中使用Scrapy爬虫实现本地存储
前言这里使用Scrapy框架,相关资料需自行百度。注意,使用Scrapy框架,需要提前下载好第三方库 pip install xxxx
目标:
本地安装所需要的各种环境,按照自己需要的安装
创建Scrapy爬虫项目
爬取正确的数据
对爬取的数据进行格式转换
爬取的数据进行本地存储(存入txt文件中)
升级pip到最新版本1python -m pip install --upgrade pip
安装Scrapy框架所需第三方类库1pip install scrapy
新建一个目录,并通过命令在该目录下创建一个Scrapy爬虫项目 crawlerDemo1scrapy startproject crawlerDemo
找到该项目,导入到Pycharm中,表结构如下:
在spiders包下创建一个python文件,并敲入代码
我这里在spiders包内新建了一个py文件,myfirst.py,这个py文件名字随便起的,记住接下来代码中的爬虫name就行
敲入代码
这串代码,随便爬了一个小说网的某篇小说的其中一章(这篇文章没有记录翻页、下一页)通过xpath,分析出规则,根据规则对 ...
【Python基础篇】初学者入门级基础语法
定位字符、字符串截取Python基础篇【定位字符串位置、字符串截取】
字符串格式化函数 str.format()123456789101112# 直接赋值print("姓名:{},地址:{}".format("王小二", "山东青岛"))# 直接赋值print("姓名:{name}, 地址 {adress}".format(name="王小二", adress="山东青岛"))# 通过字典设置参数site = {"name": "王小二", "adress": "山东青岛"}print("姓名:{name}, 地址:{adress}".format(**site))# 通过列表索引设置参数,"0" 是必须的arr ...
Java中Json、String、jsonObject、jsonArray格式之间互相转换
前言写这篇文章的初衷,是为了自己日常进行json格式转化方便。
当然在方便自己使用的同时,也分享给大家
Fastjson【阿里】我这里使用的是阿里的 fastjson,此文章以fastjson-1.2.83版本为例,引入maven依赖如下
123456<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version></dependency>
12import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;
json格式的字符串 转 JSONObject接收格式JsonObject类型
1234{ "name": "张三", "age": "18" ...
MySQL在Linux下载安装及部署
MySQL官网下载MySQL官网下载:MySQL :: Download MySQL Community Server进入以后,默认页是MySQL的最新版本,如果选择之前版本,就点击 Looking for previous GA versions?我这里下载的是 mysql 5.7.27 的二进制版本Linux-Generic是通用版
将下载好的压缩包丢到服务器上任意一个你能找到的地方创建mysql文件夹在/usr路径下创建一个文件夹mysql
1mkdir /usr/mysql
解压找到之前丢服务器上的压缩包,通过命令将其解压到 /usr/mysql 目录下
1tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz -C /usr/mysql/
修改文件夹名称进入到/usr/mysql目录下,并修改文件夹名字
123cd /usr/mysqlmv mysql-5.7.27-linux-glibc2.12-x86_64/ mysql-5.7.27
检查用户组、用户查看所有用户组信息是否存在mysql组,不存在则创建,存在 ...
Java如何实现代码编写Redis简易项目
前言用Java Spring Boot编写Redis简易项目
阅读该篇文章首先确保电脑本地安装有Redis,如果使用的是服务器上的redis,请修改application.properties或者 application.yml配置信息
项目源码PS:不想看文章,可以忽略文章内容直接去看代码源码【项目源码 CSDN链接】【项目源码 百度云链接 提取码: zjbw 】
创建SpringBoot项目SpringBoot项目的创建过程就不在这里重复了
引入maven12345678910111213141516171819202122<dependencies> <!-- springboot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> & ...
Redis在Linux下载安装及部署
安装依赖环境12yum install gcc-c++yum install -y tcl
新建 redis的目录
1mkdir /usr/local/redis
官网下载redis从官网 Redis 下载redis压缩包,再丢到服务器上
或者1wget http://download.redis.io/releases/redis-5.0.5.tar.gz
解压解压redis到 /usr/redis 目录下
1tar -zxvf redis-5.0.5.tar.gz -C /usr/local/redis
编译安装方式一redis的解压目录/usr/local/redis/redis-5.0.5下,在/usr/local/redis/redis-5.0.5目录下使用 make 命令进行编译安装
1make MALLOC=libc
方式二该文章使用的都是方式一,没有修改执行文件的路径。如果用方式二的话,下面的几个操作路径,需要将执行文件的路径改为最新的路径。两者没有区别,只是将执行文件移动了位置
1make
在/usr/local/redis/redis-5.0.5/src目 ...
如何解决:Eclipse引入SpringBoot项目时报错,第一行报错,Unknow
前言使用版本为2.1.7的springBoot时,pom.xml第一行报错,Unknow
解决办法:方法一检查JDK版本是否是 jdk 1.8
方法二pom.xml中修改SpringBoot版本号,降低到 2.1.3
123456<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/></parent>
方法三pom.xml中修改强制修改maven版本号 3.1.1
1234<properties> <java.version>1.8</java.version> <maven-jar-plugin.version>3.1.1</mave ...