- 浏览: 2160486 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (401)
- Agile (16)
- Apache Commons (3)
- Architecture (8)
- DB.MongoDB (5)
- DB.Mysql (3)
- DB.Oracle (34)
- DirectoryService (1)
- DotNet (1)
- English (3)
- Groovy (0)
- Html (28)
- Java (67)
- Java.Aixs (7)
- Java.Cache (2)
- Java.jPBM (1)
- Java.Resin (6)
- Java.Spring (4)
- Java.Struts2 (5)
- Java.Tomcat (16)
- Javascript (45)
- Javascript.Google Map (2)
- Javascript.Jquery (8)
- Life (15)
- Maven&Ant (4)
- Network (5)
- OS.Linux (45)
- OS.Windows (10)
- OS.Windows.Office (1)
- PlayFramework (15)
- Python (28)
- Reading notes (11)
- Security (13)
- Server.Apache (3)
- Server.Nginx (7)
- Test (6)
- Tool (15)
- Work.Solution (15)
- Other (20)
- SSO&CAS&Identity (13)
最新评论
-
hutuxiansheng123:
防火墙、Iptables、netfilter/iptables、NAT 概述 -
dacoolbaby:
非常棒的正则表达式,非常适用。万分感谢。
用python分析nginx的access日志 -
loot00:
您好! 我也遇到了相同的错误信息。我是用f_link_lob ...
LOB variable no longer valid after subsequent fetch -
feihangchen:
@OnApplicationStop public clas ...
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务 -
洞渊龙王:
谢谢了
www.w3.org被qiang导致logback报错:Connect reset
任务:抓取某网站数据(物品,参数,图片)
近来对于 python 的学习热情比较高,感觉用起来比较方便,效率也好,就决定采用 python 来做上述任务, Mysql 来存储数据。
Mysql 版本:
mysql-5.1.35-win32.msi 管理工具: Navicat for MySQL
相关模块:
Python 2.5 + MySQLdb ( MySQL-python-1.2.2.win32-py2.5.exe ) + BeautifulSoup 3.0
python 2.5Windows 安装版下载地址:
http://www.python.org/ftp/python/2.5/python-2.5.msi
MySQLdb 下载地址:
BeautifulSoup 下载地址:
http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.0.py
BeautifulSoup 官网文档:
http://www.crummy.com/software/BeautifulSoup/documentation.zh.html
程序中使用的模块:
traceback : traceback.format_exc() 处理异常时输出错误日志
urllib2 :通过 url 访问相应网站(设置 HTTP 代理防止被网站封IP导致无法访问)
urlparse : urlparse.urlparse 把 url 解析成六部分,方便处理
urlparse.urljoin(baseUrl, relativeUrl) 根据既存的绝对 URL ,把一相对 URL 转换成相应的决定 URL (当抓取网站中 link 等链接使用相对路径,可以非常方便地取得 link 对应的绝对路径 URL )
os : os.path.exists 路径是否存在
os.path.join 把路径和文件名称合成新的路径
os.sep 操作系统分隔符
os.makedirs 创建多层次的目录
os.makedir() 创建当层目录
time : time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) 取得当前时间
3 天半的开发过程中出现了不少问题,记录如下:
1, MySQLdb 使用不了。
由于 MySQLdb 作者不提供对 Windows 平台 python2.7 的安装包,作为新手没有办法就只好退回使用 python2.5
2, 下载了 BeautifulSoup 后不知道怎么使用
使用 BeautifulSoup 时只需要下载 BeautifulSoup-3.0.0.py 这个文件(注意下载后把版本号删除,这样使用时 import BeautifulSoup 才不会出错【 python 文件的文件名就是模块名】)
文件名中删除了 -3.0.0 后, pydev 中报错,不知道什么原因,但可以正常导入使用
3, MySQLdb 控制事务时发现不起作用
检查: 1 ,数据库创建时是否允许使用事务 2 ,表创建时是否允许支持事务 InnoDB
4, 程序报错: Error No. 1130 Host 'x.x.x.x' is not allowed to connect to this MySQL server
这是由于 mysql 服务端 root 用户所对应的客户端权限设置问题(安装 mysql 时注意选择允许通过 ip 访问数据库)。默认所对应的客户端地址只有 localhost (也就是服务端的机器),所以要增加相应的地址。下面增加任何地址都可以访问 mysql 服务端的 root 用户
# mysql
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
或者 mysql> grant all privileges on *.* to 'root'@'192.168.1.1' identified by '123456' with grant option;
mysql> flush privileges;
mysql> exit
5, 程序报错: Error Nr. 1045 Access denied for user"root@COMPUTERNAME"(using password: NO)
Root 用户没有密码不让访问,设置密码为 123456
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
6, 程序插入,读取数据到 mysql 都是乱码
Python 文件设置编码 utf-8 (文件前面加上 # -*- coding: utf-8 -*-)
Python 文件保存时的编码utf-8
MySQL 数据库 charset=utf-8
Python 连接 MySQL 是加上参数 charset=utf8
7, 在eclipse 插件pydev 中正常,迁移到命令行执行后,显示编码错误,程序无法执行。
追加如下代码:
import sys
# 兼容命令行执行
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
reload(sys)
sys.setdefaultencoding (default_encoding)
8, 代码内部的中文字符串在命令行中显示乱码
使用中文字符串的地方,在字符串前面追加 u ,表明这是 1 个 unicode 字符串,如u'总共’
9, eclipse 插件pydev 报 setdefaultencoding 不存在,但是却能正常执行
python 解释器启动时会自动删除 sys 模块的 setdefaultencoding() 方法 , 使得运行时不能调用 , 所以需要通过 reload(sys) 重新加载
python 2.3 以后的默认编码是 ascii
python3 .0 开始默认编码为 utf-8
10, 报错: OperationalError: (1040, 'Too many connections')
发现 mysql 的默认最大连接数为 100 ,出现上述错误的原因mysql事务控制时连接没有及时释放掉
查看 mysql 当前活动的连接:到 mysql 安装目录的 bin 文件夹下运行
mysqladmin -uroot -p123456 -h192.168.3.79 processlist
发表评论
-
windows 用户限制磁盘访问(让用户在桌面查看资料,但是不能访问其他磁盘内容)
2012-11-10 11:38 51441,TrueCrypt Setup 7.1:Free open ... -
HTTP Chunk分块&java.io.IOException: CRLF&missing CR
2012-03-22 10:29 14307总结: HTTP 1.1时,Respons ... -
python sftp&ftp&ssh2
2012-03-06 11:29 10843ftp使用内置模块from ftplib import FTP ... -
本机、生产环境Tomcat乱码处理
2012-03-05 11:05 1983项目由很多模块构成,且每个人负责自己的模块,并且由于历史原因, ... -
python 子进程Subprocess & windows cmd当前目录和python当前目录的区分
2012-03-05 10:28 10959maven命令执行的时候,需要先到project目录,然后再执 ... -
Linux下Tomcat forward不到jsp页面,磁盘空间不足解决
2012-01-11 10:31 1691现象: 1:访问Linux下tomcat,当后台通过forwa ... -
Commons Validator 1.3与Struts 1.1混合使用时的问题处理
2011-12-22 14:53 1380公司现有项目框架使用Struts1.1以及Validator1 ... -
static final变量编译,发布
2011-10-09 17:06 1235// AlipayConfig文件定义的常量 public s ... -
IE6下 用户操作google map后突然浏览器卡死
2011-09-12 22:16 1533系统使用Google Map V2版本的API,在用户放大、缩 ... -
resin自动重启(程序无限循环导致)
2011-04-22 15:26 5253问题:生产库Web集群服务器中Resin容器不断不定时自动重启 ... -
用python分析nginx的access日志
2011-04-13 13:52 15074项目正式发布后,有需求要分析下nginx的access日志内容 ... -
(转)python 函数参数的传递(参数带星号的说明)
2011-03-18 15:09 1407转自 andylin02的博客 python中函数参数的传递 ... -
ConfigParser读取记事本修改后的配置文件出错问题解决
2010-12-23 10:42 13160使用ConfigParser来读取系统配置文件,当把py2ex ... -
把图片列表合成一个GIF动画图片
2010-12-14 10:04 2604import os from PIL import Im ... -
每月100W数据统计处理解决方案
2010-12-06 15:12 2196任务:每月产生100W条数据(csv格式),要求对这些数据进行 ... -
LOB variable no longer valid after subsequent fetch
2010-12-01 10:50 5551cx_oracle读取oracle wm_concate函数操 ... -
pydev打包后的程序运行报【没有找到 MSVCP71.dll】的错误
2010-11-19 11:44 1767今天把用pydev打包后的程序放到一台新的Windows 20 ... -
客户端机器TCP端口被占满导致mysql报Can't connect to MySQL server on 'computername' (10048)
2010-11-17 16:22 5602用python程序读取csv数据,然后通过MySQLdb模块插 ... -
Axis2发布的WebService中排除不需要公开的public方法
2010-11-03 10:10 3102Axis2默认把Service类中所有的public方法都发布 ... -
Python WindowsError
2010-10-28 10:02 11144WindowsError: [Error 2] The sy ...
相关推荐
2. Python抓取库选择: - requests库:用于发送HTTP请求,如GET、POST,是抓取网页的基本工具。 - Beautiful Soup库:用于解析HTML和XML文档,能处理复杂的页面,方便地提取数据。 - Scrapy框架:是一个快速高...
本项目"python抓取淘宝天猫网页商品详情Demo.zip"是一个利用Python进行网络数据抓取的示例,主要涉及到以下几个核心知识点: 1. **网络请求库**:在Python中,我们通常使用如`requests`库来发送HTTP请求,获取网页...
在这个项目中,可能使用了这些库中的某一个或多个来抓取NBA球员的相关数据,如球员的名字、球队、身高、体重、赛季统计数据等。网络爬虫通过解析HTML或JSON格式的网页内容,将所需数据提取出来,形成原始的数据集。 ...
1. 数据获取:使用Python的requests库或者其他爬虫技术从旅游网站抓取数据,或者直接连接到已有的数据库进行读取。 2. 数据预处理:使用Pandas进行数据清洗,处理缺失值、异常值,进行数据类型转换等。 3. 数据分析...
我们将使用Python的Selenium库来模拟浏览器行为,抓取页面数据,然后利用MySQL进行数据存储。以下是一些关键知识点: 1. **Selenium库**:Selenium 是一个用于 Web 应用程序测试的工具,同时也常被用于网页数据抓取...
总的来说,Python爬虫技术在金融数据获取中有广泛应用,通过学习"Python实现天天基金数据爬取"项目,你可以掌握到网络数据抓取、网页解析、数据存储等关键技能,这对于数据分析、投资决策或者金融研究都是非常有价值...
利用python3请求zabbix_api接口,抓取某主机某监控项在某短时间的历史数据,并利用matplotlib绘制图形
总之,通过Python爬虫抓取网页内容,再利用MongoDB的文档型数据库特性存储数据,可以有效地管理和组织Web应用的数据,同时利用MongoDB的查询功能实现高效的数据检索。这种组合方式在处理结构不固定、数据量较大的Web...
Python 技术在数据抓取领域扮演着至关重要的角色,其简洁的语法和丰富的库使得数据获取变得简单高效。在本文中,我们将深入探讨几种常用的数据抓取方法,包括网络请求、HTML解析、API调用以及数据库操作。 首先,...
例如,我们可能只想保留某列值大于某个阈值的行。这可以通过布尔索引来实现: ```python # 筛选条件,假设我们要筛选'年龄'列大于30的行 filtered_df = df[df['年龄'] > 30] ``` 在提取了所需数据后,可能希望将...
Python爬虫技术是一种用于自动化网页数据抓取的工具,它能够高效地遍历网页,提取所需信息。在本示例中,我们关注的是使用Scrapy框架来实现这一目标。Scrapy是一个强大的Python爬虫框架,它提供了丰富的功能,如请求...
本文将详细探讨Python爬虫的基础知识、如何使用Python爬虫抓取网络数据,以及在实际调查研究中如何运用这些数据。 首先,Python爬虫是利用Python编程语言编写的程序,用于自动化地从互联网上抓取大量信息。Python因...
在Python编程领域,爬虫是一项常见的任务,尤其在社交媒体数据挖掘中扮演着重要角色。本教程将探讨如何使用Python编写一个微博爬虫,批量获取指定账号的数据。由于微博平台不断更新其技术,防止非法抓取数据,因此...
在本项目中,"Python爬取猫眼豆瓣数据"是一个典型的Web数据抓取任务,主要涉及Python编程语言以及网络爬虫技术。通过Python编写爬虫程序,我们可以从猫眼电影和豆瓣电影等网站获取相关数据,如电影名称、评分、评论...
本项目“精选_基于python实现的某东手机评论数据采集与分析爬虫_源码打包”聚焦于利用Python编程语言来实现对某电商平台(如京东,简称“某东”)手机评论数据的抓取和分析。以下将详细阐述这个项目中的关键知识点。...
在Python编程领域,批量处理是一项常见的任务,尤其在大数据分析和信息提取中。在这个特定的案例中,我们关注的是从上市公司的年度报告中提取特定信息。这个任务涉及到文本挖掘、自然语言处理(NLP)以及可能的数据...
标题 "pm2.5爬虫python代码" 描述了如何使用Python编程语言编写一个网络爬虫,目的是抓取不同城市的PM2.5空气质量指数数据。PM2.5是指大气中直径小于或等于2.5微米的颗粒物,对环境和人体健康有显著影响。这种数据...
本项目是关于使用Python爬虫来抓取猫途鹰(TripAdvisor)官方网站上的旅游信息,包括酒店和景点的详情,以及相关的用户评论。下面将详细介绍这个项目涉及的关键知识点。 1. **Python基础**:首先,了解Python编程...
Python爬虫技术是一种用于自动化获取网页内容的编程方法,它能帮助我们从互联网上抓取大量数据,尤其在处理非结构化数据时显得尤为高效。本教程将通过一个名为"catch.py"的Python脚本来讲解如何抓取网页上的特定字段...
在这个项目中,爬虫可能使用了Selenium库,与Appium相结合,实现了对微信应用内部页面的交互和数据抓取。 “python”标签确认了主要编程语言为Python,Python因其简洁明了的语法和丰富的第三方库而常被用于爬虫开发...