静觅小白爬虫及进阶系列学习笔记
来源:互联网 发布:sql 参数 编辑:程序博客网 时间:2024/05/16 04:41
小白爬虫第一弹之抓取妹子图
遇到问题:python2.x和python3.x有区别。
1. 编码问题,报错ASCII时要在前面加上
import sysreload(sys)sys.setdefaultencoding('utf-8')
,路径中有中文字符需要把str类型的转为Unicode类型,使用.decode(‘utf-8’)
2. Print问题,python2.x版本的print没有括号,想要带括号需在所有import之前加上from __future__ import print_function
。
注:未按要求使用Anaconda,因为用pip也能下载安装。
小白爬虫第二弹之健壮的小爬虫
小白爬虫第三弹之去重去重
安装MongoDB到C盘。
运行发现代理不好使,保存到mongoDB后不知道怎么查看。
小白爬虫第四弹之爬虫快跑(多进程+多线程)
注意:需要先运行第二个代码块即我自己的start queue.py,把地址写进MongoDB,然后再运行多线程+多进程代码即multithreading.py,才能不一直显示“队列没有数据”。
另,MogoQueue.py的pop_title()
函数内,需把return record['主题']
改为return record['主题'.decode('utf-8')]
才能不报错:KeyError。因为python2.7的编码问题,record['主题']
的“主题”两字应转换成utf-8类型。
小白进阶之Scrapy第一篇
遇到问题:ImportError: No module named items
解决:http://stackoverflow.com/questions/10570635/scrapy-importerror-no-module-named-items
个人使用了from __future__ import absolute_import
这种方法。
安装一个python操作mysql的包mysql-connector-python-2.1.4
更改sql.py中的sql类的语句为
sql = 'INSERT INTO dd_name (xs_name,xs_author,category,name_id) VALUES (%(xs_name)s,%(xs_author)s,%(category)s,%(name_id)s)'
报错:ProgrammingError: 1045 (28000): Access denied for user ‘ROOT’@’localhost’ (using password: YES)
数据库操作:
用管理员身份打开Cmd
net start mysql
E:
Cd E:\mysql5.7\bin
mysql -hlocalhost -uroot -p123456
show databases;
use test
DROP TABLE IF EXISTS `dd_name`;CREATE TABLE `dd_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `xs_name` varchar(255) DEFAULT NULL, `xs_author` varchar(255) DEFAULT NULL, `category` varchar(255) DEFAULT NULL, `name_id` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4;
show tables;
注意分号!!!
第二部分的sql语句:
DROP TABLE IF EXISTS `dd_chaptername`;CREATE TABLE `dd_chaptername` ( `id` int(11) NOT NULL AUTO_INCREMENT, `xs_chaptername` varchar(255) DEFAULT NULL, `xs_content` text, `id_name` int(11) DEFAULT NULL, `num_id` int(11) DEFAULT NULL, `url` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2726 DEFAULT CHARSET=gb18030;SET FOREIGN_KEY_CHECKS=1;
报错:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 1-2: ordinal not in range(128)
在前面加上
import sysreload(sys)sys.setdefaultencoding('utf-8')
报错:UnicodeDecodeError: ‘utf8’ codec can’t decode bytes in position 0-1: invalid continuation byte,尝试多种方法无果后,把所有的str(…)的字符串都用unicode(str(response.meta['chaptername']).replace('\xa0', ''), errors='ignore')
这种形式替换了。
如:
注意:原本的域名23wx.com改为了23us.com
小白进阶之Scrapy第二篇(登录篇)
没有vip卡号所以登不进去。。。
小白进阶之Scrapy第三篇(基于Scrapy-Redis的分布式以及cookies池)
注:刚发现还有一篇scrapy分布式的前篇没有看,但因为跟项目和毕设相关度不大所以以后再看吧。谢谢崔庆才老师,您的博客对我帮助太大了。
- 静觅小白爬虫及进阶系列学习笔记
- node学习笔记<进阶系列>
- 《Python爬虫学习系列教程》学习笔记
- 《Python爬虫学习系列教程》学习笔记
- 《Python爬虫学习系列教程》学习笔记
- 《Python爬虫学习系列教程》学习笔记
- 《Python爬虫学习系列教程》学习笔记
- HenCoder Android开发进阶系列学习笔记
- 【前端基础进阶系列】学习笔记
- crontab入门及进阶学习笔记
- Python爬虫学习系列
- Unity学习系列笔记6:多人游戏进阶篇
- Python3爬虫学习笔记(3.正则详解及实例)
- 爬虫学习笔记
- 爬虫学习笔记
- 爬虫学习笔记
- 爬虫学习笔记
- Python爬虫学习笔记
- jsp和struct2的路径问题
- MYSQL中常用的强制性操作(例如强制索引)
- CentOS6.5网络设置及设置同步时间
- BZOJ1202: [HNOI2005]狡猾的商人
- SpringMVC中支持多视图解析
- 静觅小白爬虫及进阶系列学习笔记
- eclipse关于“Failed to load the JNI shared library ”
- 大杀器xgboost指南
- 如何在项目运行中调用命令行修改参数
- L0/L1/L2范数
- HashSet建立及用迭代器遍历
- 网页调用QQ聊天
- 在easyui中为tabs标签页面板添加刷新按钮
- freemodbus modbus TCP 学习笔记