- 浏览: 1010882 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (367)
- JavaScript (23)
- Java (60)
- Python (41)
- 其他 (36)
- SQL (4)
- 开发工具 (26)
- Linux (15)
- AJAX (6)
- Cache (3)
- 正则 (4)
- 架构 (9)
- 手机 (3)
- MySQL (4)
- Android (115)
- vps (1)
- 网站 (4)
- scale (3)
- 搜索引擎 (3)
- iPhone (2)
- hessian (1)
- hessdroid (1)
- 411 (1)
- jstat (1)
- gc (1)
- gallery (1)
- 惯性 (1)
- eclipse (1)
- mac wget error (1)
- miui file explorer 无用 解决办法 (1)
- vim (1)
最新评论
-
qingyezhangluo:
哎。楼主您既然是分享代码的为什么要加密的呢?而且问你密码还不回 ...
android应用换皮肤(转) -
MagicError:
kavoe 写道下载文件有密码。。。。
http抓包工具 -
knightdf:
我先试下再来
JAVA的RAS加密例子 -
kavoe:
下载文件有密码。。。。
http抓包工具 -
changanfounder:
hmc1985 写道setCallbackDuringFlin ...
android gallery滑动惯性问题
#! /usr/bin/env python
“”"A variant on webchecker that creates a mirror copy of a remote site.”"”
__version__ = “$Revision: 28654 $”
import os
import sys
import urllib
import getopt
import sys
import urllib
import getopt
import webchecker
# Extract real version number if necessary
if __version__[0] == ‘$’:
_v = __version__.split()
if len(_v) == 3:
__version__ = _v[1]
if __version__[0] == ‘$’:
_v = __version__.split()
if len(_v) == 3:
__version__ = _v[1]
def main():
verbose = webchecker.VERBOSE
try:
opts, args = getopt.getopt(sys.argv[1:], “qv”)
except getopt.error, msg:
print msg
print “usage:”, sys.argv[0], “[-qv] … [rooturl] …”
return 2
for o, a in opts:
if o == “-q”:
verbose = 0
if o == “-v”:
verbose = verbose + 1
c = Sucker()
c.setflags(verbose=verbose)
c.urlopener.addheaders = [
('User-agent', 'websucker/%s' % __version__),
]
for arg in args:
print “Adding root”, arg
c.addroot(arg)
print “Run…”
c.run()
verbose = webchecker.VERBOSE
try:
opts, args = getopt.getopt(sys.argv[1:], “qv”)
except getopt.error, msg:
print msg
print “usage:”, sys.argv[0], “[-qv] … [rooturl] …”
return 2
for o, a in opts:
if o == “-q”:
verbose = 0
if o == “-v”:
verbose = verbose + 1
c = Sucker()
c.setflags(verbose=verbose)
c.urlopener.addheaders = [
('User-agent', 'websucker/%s' % __version__),
]
for arg in args:
print “Adding root”, arg
c.addroot(arg)
print “Run…”
c.run()
class Sucker(webchecker.Checker):
checkext = 0
nonames = 1
nonames = 1
# SAM 11/13/99: in general, URLs are now URL pairs.
# Since we’ve suppressed name anchor checking,
# we can ignore the second dimension.
# Since we’ve suppressed name anchor checking,
# we can ignore the second dimension.
def readhtml(self, url_pair):
url = url_pair[0]
text = None
path = self.savefilename(url)
try:
f = open(path, “rb”)
except IOError:
f = self.openpage(url_pair)
if f:
info = f.info()
nurl = f.geturl()
if nurl != url:
url = nurl
path = self.savefilename(url)
text = f.read()
f.close()
self.savefile(text, path)
if not self.checkforhtml(info, url):
text = None
else:
if self.checkforhtml({}, url):
text = f.read()
f.close()
return text, url
url = url_pair[0]
text = None
path = self.savefilename(url)
try:
f = open(path, “rb”)
except IOError:
f = self.openpage(url_pair)
if f:
info = f.info()
nurl = f.geturl()
if nurl != url:
url = nurl
path = self.savefilename(url)
text = f.read()
f.close()
self.savefile(text, path)
if not self.checkforhtml(info, url):
text = None
else:
if self.checkforhtml({}, url):
text = f.read()
f.close()
return text, url
def savefile(self, text, path):
dir, base = os.path.split(path)
makedirs(dir)
try:
f = open(path, “wb”)
f.write(text)
f.close()
self.message(”saved %s”, path)
except IOError, msg:
self.message(”didn’t save %s: %s”, path, str(msg))
dir, base = os.path.split(path)
makedirs(dir)
try:
f = open(path, “wb”)
f.write(text)
f.close()
self.message(”saved %s”, path)
except IOError, msg:
self.message(”didn’t save %s: %s”, path, str(msg))
def savefilename(self, url):
type, rest = urllib.splittype(url)
host, path = urllib.splithost(rest)
path = path.lstrip(”/”)
user, host = urllib.splituser(host)
host, port = urllib.splitnport(host)
host = host.lower()
if not path or path[-1] == “/”:
path = path + “index.html”
if os.sep != “/”:
path = os.sep.join(path.split(”/”))
if os.name == “mac”:
path = os.sep + path
path = os.path.join(host, path)
return path
type, rest = urllib.splittype(url)
host, path = urllib.splithost(rest)
path = path.lstrip(”/”)
user, host = urllib.splituser(host)
host, port = urllib.splitnport(host)
host = host.lower()
if not path or path[-1] == “/”:
path = path + “index.html”
if os.sep != “/”:
path = os.sep.join(path.split(”/”))
if os.name == “mac”:
path = os.sep + path
path = os.path.join(host, path)
return path
def makedirs(dir):
if not dir:
return
if os.path.exists(dir):
if not os.path.isdir(dir):
try:
os.rename(dir, dir + “.bak”)
os.mkdir(dir)
os.rename(dir + “.bak”, os.path.join(dir, “index.html”))
except os.error:
pass
return
head, tail = os.path.split(dir)
if not tail:
print “Huh? Don’t know how to make dir”, dir
return
makedirs(head)
os.mkdir(dir, 0777)
if not dir:
return
if os.path.exists(dir):
if not os.path.isdir(dir):
try:
os.rename(dir, dir + “.bak”)
os.mkdir(dir)
os.rename(dir + “.bak”, os.path.join(dir, “index.html”))
except os.error:
pass
return
head, tail = os.path.split(dir)
if not tail:
print “Huh? Don’t know how to make dir”, dir
return
makedirs(head)
os.mkdir(dir, 0777)
if __name__ == ‘__main__’:
sys.exit(main() or 0)
sys.exit(main() or 0)
发表评论
-
python图形处理库Python Imaging Library (PIL)简介及安装(转载收藏)
2010-10-14 13:02 2105[简介] 这两天用python写一个程序,需要对各种格式的 ... -
python:在python中使用opencv进行摄像头编程初体验
2009-12-02 13:11 3963闲着没事做,前段时间买了个摄像头,在ubuntu上用。打开ch ... -
python使用tuple作参数
2009-08-07 15:53 3626def a(*aa): print aa[0] ... -
python sort key
2009-08-07 13:18 2468>>> a=range(10) >&g ... -
Python支持中文
2009-08-07 10:27 3232让Python支持中文要在Python代码头部加上# -* ... -
Python多线程 简明例子
2009-08-07 10:27 3051综述 多线程是 ... -
Python多线程编程
2009-08-07 10:26 4068我们在做软件开发的时 ... -
python循环采集
2009-08-07 10:26 1612html=”<td>1</td>< ... -
python的字符操作函数
2009-08-07 10:25 2114在python有各种各样的stri ... -
python去除html标签
2009-08-07 10:24 3521from HTMLParser import HTMLPars ... -
python 下载文件
2009-08-06 14:12 4861抓取数据的时候,有的时候是需要下载一些文件的,比如图片,pdf ... -
python 去除空格,回车符,换行符
2009-08-06 14:05 10674s=’ as asdas \r\nasda’print ” ... -
Python版Linux 下的迅雷
2009-07-29 11:56 2876Linux 下该不该有迅雷,这个问题一直存在分歧,在此也不予讨 ... -
linux下python默认版本的选择
2009-07-29 10:50 2602当你在linux系统下安装了不同版本的python, 怎样设定 ... -
Python监视进程
2009-06-23 11:03 2499由subprocess创建一个进程,然后进行监视 每一秒钟查看 ... -
python pyc pyo
2009-06-19 13:56 4779python并非完全是解释性语言,它是有编译的,先把源码py文 ... -
python chr()、unichr()和ord()
2009-06-18 17:15 64220chr()、unichr()和ord() chr()函数用一 ... -
python打印所有汉字...
2009-06-18 17:04 2702for ch in xrange(0x4e00, 0x9fa6 ... -
程序签名
2009-06-18 16:43 1132打开https://www.symbiansigned.com ... -
python adodb 支持mysql非标准端口
2009-06-15 11:49 1573原文链接:h ttp://www.iteye.com/topi ...
相关推荐
通过Python自带的框架可以方便地获取网页内容,配合正则表达式等工具可以有效地提取和分析所需信息。由于互联网中网站众多,每个网站的开发原则和代码风格各异,所以在进行网络爬虫开发时,应考虑目标网站的具体情况...
首先,Python中自带urllib及urllib2这两个模块,基本上能满足一般的页面抓取。另外,requests也是非常有用的包,与此类似的,还有httplib2等等。 Requests: import requests response = requests.get(url) ...
对于大型项目,考虑使用Scrapy框架,它自带了调度器、下载中间件、爬虫中间件等功能,更便于管理和扩展。 最后,要注意的是,合法和道德的网络爬虫应遵守网站的robots.txt协议,尊重网站的版权,不进行非法的数据...
Python自带了如urllib、urlilib2等基础的爬虫库,可以轻松完成网页内容的抓取工作。 3. 强大的字节流处理能力。Python对各种模式的字节流处理有着很好的支持,使得数据提取更为高效。 在实现网络爬虫时,需要对爬虫...
Python不仅自带强大的标准库,还拥有大量的第三方模块,覆盖网络通信、图形识别、数据处理等领域,而且多数模块成熟且稳定。在物流信息追踪的网络爬虫开发中,Python的标准库和第三方模块是完成网络请求、图像处理、...
### Python爬虫Scrapy实例详解 #### 创建Scrapy项目 Scrapy是一款强大的开源网页抓取框架,被广泛应用于数据采集领域。本文档旨在通过一个具体的示例,详细讲解如何使用Scrapy创建并运行一个基本的爬虫项目。 ###...
借助 Python 和 Scrapy 语言框架基础,以“旅游网站”为爬取目标,通过分析当前现有Web crawler 的运行机理、功能单元以及算法程序,试探性的创建一个针对性比较强的网络爬虫,对课题的目标数据进行爬取。...
可以使用 Python 自带的库(如 `urllib`、`requests` 等)或第三方库(如 `BeautifulSoup`、`Scrapy` 等)。 4. **调试与测试**:完成爬虫代码编写后,进行调试与测试,确保代码能够正常运行并获取需要的数据。 5. *...
其中,`urllib.request`是Python自带的标准库,无需额外安装即可使用。 - **URL的理解**:URL(Uniform Resource Locator)即统一资源定位符,用于标识互联网上的资源位置。其格式通常包括协议类型、服务器地址以及...
网页解析器有正则表达式(直观,将网页转成字符串通过模糊匹配的方式来提取有价值的信息,当文档比较复杂的时候,该方法提取数据的时候就会非常的困难)、html.parser(Python自带的)、beautifulsoup(第三方插件,...
然而,海量的招聘信息往往使求职者难以快速定位到合适的工作,因此,开发一个基于Python的招聘网站爬虫及可视化系统,能够有效解决这一问题。 二、Python爬虫技术 Python因其简洁的语法和丰富的第三方库,成为数据...
8. **Logs and Debugging**:Scrapy自带日志系统,可以帮助开发者跟踪和调试爬虫运行过程中的问题。 **注意事项** 1. **遵守Robots协议**:爬虫在抓取数据时应尊重网站的Robots.txt文件,避免抓取禁止访问的页面。...
Scrapy是一个强大的Python爬虫框架,它为网络爬虫开发提供了高效的工具集,包括数据提取、数据处理、调度、中间件、爬虫项目管理等多个功能。在Windows 32位系统上安装Scrapy可能遇到一些挑战,主要是由于依赖库的...
1. **Python环境**:Python是爬虫开发的首选语言,通常使用Anaconda来安装Python环境,因为它自带了许多数据科学所需的库。确保安装Python3.x版本,例如3.6。 2. **Selenium**:Selenium是一个用于浏览器自动化测试...
Python自带一个正则表达式模块库re,通过这个模块可以查找、提取、替换一段有规律的信息。 基本符号: 1. 点号‘.’:一个点号可以代替除了换行符以外的任何一个字符,包括但不限于英文字母、数字、汉字、英文标点...
相比于 Python 自带的 urllib 模块,Requests 更加简洁易用。通过 Requests 库,我们可以轻松发起 GET、POST 等类型的 HTTP 请求,获取响应数据,并对其进行处理。 使用 Requests 发起请求的基本流程如下: 1. **...
`BeautifulSoup`是一个非常流行的解析库,它支持多种解析器,包括Python自带的`html.parser`和第三方的`lxml`,后者不仅速度快,还能处理XML和HTML,提供更强大的解析能力。 5. **应用程序(Application)**:从...
3. **数据可视化**:Python的数据可视化库如Matplotlib、Seaborn、Plotly和Pandas自带的绘图功能,可以帮助我们以图表的形式展示数据,更直观地理解数据分布、趋势和关系。Matplotlib是最基础的库,提供丰富的图表...
urllib 学习python完基础,有些迷茫.眼睛一闭,一种空白的窒息源源不断而来.还是缺少练习,遂拿爬虫来练练手.学习完斯巴达python爬虫课程后,将心得整理如下,供后续翻看....@ urllib为python自带的一个网络库 @ urlo