这个应急电池怎么接电

& & 在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。  我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。  这里可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看如何使用python来实现这样一个功能。一. 获取整个页面数据首先我们可以先获取要下载图片的整个页面信息。创建getjpg.py文件#coding=utf-8import urllib def getHtml(url):& &page = urllib.urlopen(url)& &html = page.read()& &return html html =getHtml(&/p/&) print html
QQ图片42.png (147.52 KB, 下载次数: 0)
15:22 上传
说明: &&Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数;urllib.urlopen()方法用于打开一个URL地址;read()方法用于读取URL上的数据;向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。 二. 筛选页面中想要的数据  Python 提供了非常强大的正则表达式,我们需要先要了解一点python 正则表达式的知识才行。re模块中一些重要的函数:
QQ图片03.png (16.43 KB, 下载次数: 0)
15:22 上传
& &假如我们百度贴吧找到了几张漂亮的壁纸,通过到前段查看工具。找到了图片的地址,如:src=&/forum/w%3D580/sign=fcfaafbc5594ed/75fafbedab6b80aecd11.jpg&
QQ图片20.png (100.78 KB, 下载次数: 0)
15:23 上传
修改代码如下: import reimport urllib def getHtml(url):& &page = urllib.urlopen(url)& &html = page.read()& &return html def getImg(html):& &reg = r'src=&(.+?\.jpg)& pic_ext'& &imgre = re.compile(reg)& &imglist = re.findall(imgre,html)& &return imglist& && && &html =getHtml(&/p/&)print getImg(html) 我们又创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接。re模块主要包含了正则表达式:  re.compile() 可以把正则表达式编译成一个正则表达式对象.  re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。运行脚本将得到整个页面中包含图片的URL地址。
QQ图片43.png (112.6 KB, 下载次数: 1)
15:23 上传
三. 将页面筛选的数据保存到本地 把筛选的图片地址通过for循环遍历并保存到本地,代码如下:#coding=utf-8import urllibimport re def getHtml(url):& &page = urllib.urlopen(url)& &html = page.read()& &return html def getImg(html):& &reg = r'src=&(.+?\.jpg)& pic_ext'& &imgre = re.compile(reg)& &imglist = re.findall(imgre,html)& & x= 0& &for imgurl in imglist:& && & urllib.urlretrieve(imgurl,'c:\Users\Administrator\Desktop\pic\%s.jpg'&&% x)& && & x+=1
html =getHtml(&/p/&) print getImg(html)
 &&这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。 &&通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。& &&&程序运行完成,将在目录下看到下载到本地的文件。效果如下:
QQ图片58.png (146.76 KB, 下载次数: 1)
15:23 上传
在线时间2378 小时
威望6026分
芯币5833枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6026, 距离下一级还需 3974 积分
五彩晶圆(高级), 积分 6026, 距离下一级还需 3974 积分
本帖最后由 shower.xu 于
17:07 编辑
cool,能把整个脚本分享一下么?
嗯嗯 好的,不过这个要针对不同的网页才行&
在线时间184 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 68, 距离下一级还需 132 积分
一粒金砂(中级), 积分 68, 距离下一级还需 132 积分
cool,能把整个脚本分享一下么?
嗯嗯 好的,不过这个要针对不同的网页才行
只要有脚本做模版就行,修修改改嘛&
在线时间2378 小时
威望6026分
芯币5833枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6026, 距离下一级还需 3974 积分
五彩晶圆(高级), 积分 6026, 距离下一级还需 3974 积分
嗯嗯 好的,不过这个要针对不同的网页才行
只要有脚本做模版就行,修修改改嘛
在线时间528 小时
芯币4386枚
E金币285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 678, 距离下一级还需 122 积分
纯净的硅(初级), 积分 678, 距离下一级还需 122 积分
用到了wxpython?
在线时间2053 小时
威望4554分
芯币41363枚
E金币1210枚
TA的帖子TA的资源
学习一下。
http://www./
在线时间105 小时
TA的帖子TA的资源
一粒金砂(高级), 积分 243, 距离下一级还需 257 积分
一粒金砂(高级), 积分 243, 距离下一级还需 257 积分
关键是看网页源码啊,要懂html以及更多啊& && && && && && && && && && && && && && && && &
论坛测评队员
EEWORLD 官方微信
Powered by
逛了这许久,何不进去瞧瞧?python网页爬虫,如何处理含有javascript的页面?
,我想从里面定时获取一些代理的列表然后验证,但是这个列表要求能够解析javascript才行,求教应该如何写代码,有相关的第三方库吗?
而且目前的问题是,它返回我的页面只给我说&enable javascript!&,别的啥都木有……
用pytwebkit吧
自己分析一下 javascript.
您好,有个问题想向您请教一下,不知您是如何定位到网页上计算“响应速度”和“传输速度”的这段js代码?谢谢
使用js有个目的就是为了防爬虫
通过打开窗口,控制浏览器动作就可以。之前用c#+IronPython做过这样的需求
粗略观察一下目标网站,采集其数据也不算难...并不一定需要解析网站的js脚本.
首先IP地址是经过处理的 --IPDecode(&%3c%61%20%68%72%65%66%3....)--&utf.URLdecode(IP) 而这个JS函数就在http://www.freeproxylists.net/js/utf.js里面,算法也较为简单,可自己动手参照js写几个循环置换就可以了.
对于&相应速度&和&传输速度&,你仔细观察span这个tag,里面有个width百分比参数,也就是用css控制显示长短度的.只要采集这个百分比参数就可以了.
其实采集这类数据并不需要入库持久化,通常这些代理服务器都是有时效性的.只需截取这个列表(table表格),然后将js、css 复制过来,输出显示就可以了.
有个cookie参数userno=944貌似与IP绑定的
只要它正确可以采集到基本页面
利用pywebkit,动态执行脚本就可以了
/,自带爬取js生成的数据CUHK上学期有门课叫做Semantic Web,课程project是要搜集整个系里面的教授信息,输入到一个系统里,能够完成诸如&如果选了A教授的课,因时间冲突,B教授的哪些课不能选&、&和A教授实验室相邻的实验室都是哪些教授的&这一类的查询。这就是所谓的&语义网&了啊。。。然而最坑爹的是,所有这些信息,老师并没有给一个文档或者数据库,全要靠自己去系主页上搜集。唯一的想法是写个爬虫,令人悲哀的是,所有做这个project的同学,都是纯人肉手工完成,看得我只想扶墙。。。
从网页中抓取特定信息,我觉得这是一个普遍性的问题,以后经常会遇到。幸亏那个project只是需要我们系的所有教授的信息,大家人工也就算了。如果需要抓取的信息是海量的,举个栗子,把淘宝上所有的商品目录抓下来,那岂不是要吐血而亡?我决定好好把爬虫研究一下。
之前波波写过一个java程序,利用去解析团购网站然后把每天的团购信息存到数据库里。稍微改改再爬爬拉手糯米,做个前端,一个团购导航站就问世了。我把程序跑了一下,全自动搜集,不算太复杂。
但是,我觉得java太啰嗦,不够简洁。Python这个脚本语言开发起来速度很快,一个活生生的例子是因有关政策verycd开始自我阉割,有网友为了抢救资源,把整个verycd站爬了下来,镜像为。看了一下爬虫,其实挺简单。使用方法:
python sitecopy.py
看看效果:
1. 获取html页面
其实,最基本的抓站,两句话就可以了
import urllib2
content = urllib2.urlopen('http://XXXX').read()
这样可以得到整个html文档,关键的问题是我们可能需要从这个文档中获取我们需要的有用信息,而不是整个文档。这就需要解析充满了各种标签的html。
2. 解析html
SGMLParser
Python默认自带HTMLParser以及SGMLParser等等解析器,前者实在是太难用了,我就用SGMLParser写了一个示例程序:
import urllib2
from sgmllib import SGMLParser
class ListName(SGMLParser):
def __init__(self):
SGMLParser.__init__(self)
self.is_h4 = ""
self.name = []
def start_h4(self, attrs):
self.is_h4 = 1
def end_h4(self):
self.is_h4 = ""
def handle_data(self, text):
if self.is_h4 == 1:
self.name.append(text)
content = urllib2.urlopen('/browse/cat-0.htm').read()
listname = ListName()
listname.feed(content)
for item in listname.name:
print item.decode('gbk').encode('utf8')
很简单,这里定义了一个叫做ListName的类,继承SGMLParser里面的方法。使用一个变量is_h4做标记判定html文件中的h4标签,如果遇到h4标签,则将标签内的内容加入到List变量name中。解释一下start_h4()和end_h4()函数,他们原型是SGMLParser中的
start_tagname(self, attrs)end_tagname(self)
tagname就是标签名称,比如当遇到&pre&,就会调用start_pre,遇到&/pre&,就会调用 end_pre。attrs为标签的参数,以[(attribute, value), (attribute, value), ...]的形式传回。
文化用品市场
如果有乱码,可能是与网页编码不一致,需要替换最后一句deconde()的参数,我在HK淘宝默认用的是繁体编码。各位可以copy上面的代码自己试试,把淘宝的商品目录抓下来,就是这么简单。稍微改改,就可以抽取二级分类等其他信息。
是jQuery在python中的实现,能够以jQuery的语法来操作解析HTML文档,十分方便。使用前需要安装,easy_install pyquery即可,或者Ubuntu下
sudo apt-get install python-pyquery
以下例子:
from pyquery import PyQuery as pyq
doc=pyq(url=r'/browse/cat-0.htm')
cts=doc('.market-cat')
for i in cts:
print '====',pyq(i).find('h4').text() ,'===='
for j in pyq(i).find('.sub'):
print pyq(j).text() ,
print '/n'
BeautifulSoup
有个头痛的问题是,大部分的网页都没有完全遵照标准来写,各种莫名其妙的错误令人想要找出那个写网页的人痛打一顿。为了解决这个问题,我们可以选择著名的BeautifulSoup来解析html文档,它具有很好的容错能力。
BeautifulSoup功能强大,我还在研究中,有进展会更新本文。
阅读(...) 评论()

我要回帖

更多关于 应急灯电池 的文章

 

随机推荐