博客
关于我
实现基于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

你可能感兴趣的文章
Java判断字符串是否为金额
查看>>
angr学习笔记(7)(malloc地址单元符号化)
查看>>
结构型设计在工作中的一些经验总结
查看>>
如何提升员工体验 助力企业业务增长?这个棘手的问题终于被解决了!
查看>>
OpenAI Gym简介及初级实例
查看>>
Java面向对象
查看>>
JAVA带标签的break和continue
查看>>
(C++11/14/17学习笔记):线程启动、结束,创建线程多法、join,detach
查看>>
紫书——蛇形填数
查看>>
A Guide to Node.js Logging
查看>>
HTML 和 CSS 简单实现注册页面
查看>>
(SpringMVC)springMVC.xml 和 web.xml
查看>>
1.2.3 项目、项目集、项目组合以及运营管理之间的关系
查看>>
二分查找与插入排序的结合使用
查看>>
892 三维形体的表面积(分析)
查看>>
875 爱吃香蕉的珂珂(二分查找)
查看>>
第十一届蓝桥杯python组第二场省赛-数字三角形
查看>>
BST中某一层的所有节点(宽度优先搜索)
查看>>
Dijkstra算法的总结
查看>>
Vue实现选项卡功能
查看>>