2016-6-18

--今天实现了第一个用urllib2实现的爬虫程序。

--过程中发现

 req = urllib2.Request(url,headers = headers)

总是报错: 主要原因在于 url  地址错误。

例如:http://www.neihan8.com/wenzi/index_1.html

这个网址打开的是404网页错误。

但是  http://www.neihan8.com/wenzi/index_2.html  这个网页却可以了。

源代码如下:

#-*- coding:utf-8 -*-
import urllib2
class Spider:
'''
内涵段子吧。。。
'''
def load_page(self,page):
'''
发送内涵段子url
'''
url = 'http://www.neihan8.com/wenzi/index_'+ str(page) +'.html'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36"}
req = urllib2.Request(url,headers = headers)
response = urllib2.urlopen(req)
html = response.read()
return html
#main
''' '''
if __name__ == '__main__':
mySpider = Spider()
the_page = mySpider.load_page(2)
print the_page

  综上,我们可以在代码中加一个判断 url 是否打开正常的代码,这个需要学习。

-----------------------------------------------------------华丽丽的分割线-------------------------------------------------------------------------------------------------

安装Scrapy

--安装scrapy 都要快被安装死了

首先会发现提示 一下问题:

1.版本问题,就是说 Scrapy 所依赖的模块版本太低。'>=1.00'  表明你要使用大于1.0的版本

2.

说明 你有一个包 attrs 没有安装。

那就使用 pip install attrs 安装即可

安装完之后终于正常了。。。。

Python教程:pywin32下载安装

下载链接http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/pywin32-218.win32-py2.7.exe/download

-------------------------开启爬虫之路----------------------------------------------

首先先说明当中可能遇到的问题:

1.String or binary data would be truncated.解决方法

步骤:在执行插入语句时,会提示上面的error。

原因:是因为数据库中定义的字段长度比较小,在插入或者更新的时候,用一个比这个字段长度大的值去操作,就会引起这个错误。

2.

python向数据库插入中文乱码问题

第一步:数据库那边总得把字段类型设置为utf8之类类的吧。

第二步:在连接数据库的时候,加个参数,说明数据库那边的字段类型一致,charset='utf8'。
              大概就是这样:
conn =MySQLdb.connect(host="127.0.0.1",user="nimei",passwd="nimei",db="nimei",charset="utf8")   --sqlserver同理

python 爬虫学习之路的更多相关文章

  1. python爬虫学习之路-遇错笔记-1

    当在运行爬虫时同时开启了Fidder解析工具时(此爬虫并不是用于爬取手机端那内容,而是爬去电脑访问的网页时),访问目标站点会遇到以下错误: File "C:\Users\litao\AppD ...

  2. python爬虫学习(1) —— 从urllib说起

    0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...

  3. python爬虫学习 —— 总目录

    开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...

  4. Python爬虫学习:三、爬虫的基本操作流程

    本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将 ...

  5. Python爬虫学习:四、headers和data的获取

    之前在学习爬虫时,偶尔会遇到一些问题是有些网站需要登录后才能爬取内容,有的网站会识别是否是由浏览器发出的请求. 一.headers的获取 就以博客园的首页为例:http://www.cnblogs.c ...

  6. Python爬虫学习:二、爬虫的初步尝试

    我使用的编辑器是IDLE,版本为Python2.7.11,Windows平台. 本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:二.爬虫的初步尝试 1.尝试抓取指定网页 ...

  7. 《Python爬虫学习系列教程》学习笔记

    http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己 ...

  8. python爬虫学习视频资料免费送,用起来非常666

    当我们浏览网页的时候,经常会看到像下面这些好看的图片,你是否想把这些图片保存下载下来. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片点击鼠标右键的时候并没有另存为选项,或者你可以通过截图工 ...

  9. python爬虫学习笔记(一)——环境配置(windows系统)

    在进行python爬虫学习前,需要进行如下准备工作: python3+pip官方配置 1.Anaconda(推荐,包括python和相关库)   [推荐地址:清华镜像] https://mirrors ...

随机推荐

  1. 如何创建只读权限oracle账户

    1.创建角色 CREATE ROLE SELECT_ROLE 2.给角色分配权限 grant CREATE VIEW to SELECT_ROLE; grant CREATE SYNONYM to S ...

  2. Office Web app server 2013 目前无法和windows server 2012 R2兼容。

    另外旧版的office文档和PDF格式不支持预览功能.

  3. 阿里八八Alpha阶段Scrum(7/12)

    今日进度 叶文滔: Andriod Studio新版打开旧版项目存在兼容性问题,仍在寻求解决办法 王国超: 今天还是在调bug,真机运行总是闪退 俞鋆: 正在学习api制作和相关的文档编写,研究了一些 ...

  4. 团队作业6--展示博客(Alpha版本)

    一.团队展示: 1.队名:软件1412--博客管理系统 2.队员学号(标记组长) 曾海明(组长):201421122036   周雅静(组员):201421122003  王珏(组员):2014211 ...

  5. 如何弹出QQ临时对话框实现不添加好友在线交谈效果

    如何不添加好友弹出QQ临时对话框实现在线交谈效果,这样的一个需求,我们真的是太需要了,实现起来也很简单,一行代码即可搞定,需要的朋友可以参考下 其实这个很简单,在img我们加入一个a标签,然后 < ...

  6. C#实现的协同过滤算法

    using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace SlopeOn ...

  7. Spark项目之电商用户行为分析大数据平台之(七)数据调研--基本数据结构介绍

    一.user_visit_action(Hive表) 1.1 表的结构 date:日期,代表这个用户点击行为是在哪一天发生的user_id:代表这个点击行为是哪一个用户执行的session_id :唯 ...

  8. OpenCV——膨胀与腐蚀

  9. 网页设计之字体和 CSS 调整

    调整 CSS 首先,我们先来看看问题的源头.CSS 的出现曾是技术的一大进步.你可以用一个集中式的样式表来装饰多个网页.如今很多 Web 开发者都会使用 Bootstrap 这样的框架. 这些框架当然 ...

  10. C++之内联函数

    C++语言新增关键字 inline,用于将一个函数声明为内联函数.在程序编译时,编译器会将内联函数调用处用函数体替换,这一点类似于C语言中的宏扩展. 采用内联函数可以有效避免函数调用的开销,程序执行效 ...