博客
关于我
实现基于scrapy框架的天气预报爬虫hengYangSpaider @572311文
阅读量:338 次
发布时间:2019-03-04

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

实现基于scrapy框架的天气预报爬虫hengYangSpaider

@572311文

时间:2018年5月6日-2018年5月8日

参考书目:《Python 网络爬虫实践》(胡松涛 编著)第五章5.4

运行环境:

Windows10 pro

python2.7

scrapy 1.5.0

mysql 5.7.17-log MySQL Community Server (GPL)

【MySQL_python-1.2.5-cp27-none-win_amd64】

实验过程:同书

实验所遇部分问题:

1.     mysql创建用户并授予权限,因为在user表中password字段已被取消,代替之的是authentication_string字段,所以原书中的创建语句修改为:

原文:

INSERT INTO mysql.user(Host,User,password)

values("%","crawlUSER",password("crawl123"));

 

修改后:

INSERT INTO mysql.user (Host, User, authentication_string, ssl_cipher , x509_issuer , x509_subject )

 values("%","crawlUSER",password("crawl123"),'','','');

 

直接使用update语句也是可以的

#update mysql.user setauthentication_string=password("crawl123") where user="crawlUSER " and Host ="%";

2.     mysql无密码修改root用户密码,由于在操作过程中出现了失误,原系统用户的密码被修改掉,登陆不上去了。参考网上教程,进行了如下操作:

①  停止mysql服务 :net stop mysql57

②  修改my.in文件(我的安装目录是:…\program files\,但是my.ini文件在..\ProgramData\MySQL\MySQL Server 5.7\里边):在[mysqld]下加入 skip-grant-tables,重启mysql;

③  启动mysql服务 :net start mysql57

④  输入命令mysql -u root -p,出现 ‘password:’,直接回车可以进入。输入下列指令:

use mysql; 
update user set password=password("newpasswd") whereuser="root"; 
flush privileges;

quit;

(记得刷新)

⑤  修改my.in文件:删除skip-grant-tables

⑥  参考csdnBlog:

3.     在安装MySQL-python时,出现以下问题:

 error: Microsoft Visual C++ 9.0 is required (Unableto find vcvarsall.bat). Get it from http://aka.ms/vcpython27

解决办法:是从VCForPython27,后出现以下问题:

_mysql.c

_mysql.c(42): fatal error C1083: Cannot open include file: 'config-win.h': No s uch file ordirectory

error: command'"C:\Users\fnngj\AppData\Local\Programs\Common\Microsoft\Visual C ++ forPython\9.0\VC\Bin\amd64\cl.exe"' failed with exit status 2

按照网上所提示各种方法均有尝试,问题仍然存在;后又下载安装mysql-connector-c-6.0.2-winx64.msi,其中64和32位的都下载尝试了,但问题仍然存在,继续寻找解决方案,后参考csdnBlog:,在下载并安装 MySQL-python-1.x.xwin-amd64-py2.7.exe,问题得以解决。

实验收获:

1、 python对于缩进格式有着严格要求,必须是4个空格(一个4长度的制表符);

2、 要灵活运用print打印,以及try指令进行错误的查找;

3、 关于xpath() ,参数字符串代表是标签层次,侧面可以理解为地址,以” //a//b//c”为例,其代表的是a标签下的,b标签里的,c标签中的内容,c标签可能会有多个,切没有classname,那么选择器的选择结果则是以selectList 的实例返回的,其本质为list类;

4、 小数据保存用txt、json、cvs格式即可,大数据用Mysql保存。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Kwzc4/article/details/80327651

你可能感兴趣的文章
元旦在家撸了两天Seata源码,你们是咋度过的呢?
查看>>
高并发场景下如何优化服务器的性能?
查看>>
数据结构与算法系列之目录
查看>>
【计算机网络】应用层
查看>>
【Markdown】公式指导手册
查看>>
【Maven】POM基本概念
查看>>
【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
查看>>
【设计模式】单例模式
查看>>
【SpringCloud】Hystrix熔断器
查看>>
【SpringCloud】Gateway新一代网关
查看>>
【Linux】2.3 Linux目录结构
查看>>
java.util.Optional学习笔记
查看>>
详解SpringBoot(2.3)应用制作Docker镜像(官方方案)
查看>>
远程触发Jenkins的Pipeline任务的并发问题处理
查看>>
CoProcessFunction实战三部曲之二:状态处理
查看>>
jackson学习之七:常用Field注解
查看>>
jackson学习之八:常用方法注解
查看>>
Web应用程序并发问题处理的一点小经验
查看>>
asp.net core的授权过滤器中获取action上的Attribute
查看>>
entity framework core在独立类库下执行迁移操作
查看>>