python3.4爬虫demo
python 3.4 所写爬虫
仅仅是个demo,以百度图片首页图片为例。能跑出图片上的图片;
使用 eclipse pydev 编写:
from SpiderSimple.HtmLHelper import * import imp import sys imp.reload(sys) #sys.setdefaultencoding('utf-8') html = getHtml('http://image.baidu.com/') try: getImage(html) exit() except Exception as e: print(e)
HtmlHelper.py文件
上面的 SpiderSimple是自定义的包名
from urllib.request import urlopen,urlretrieve #正则库 import re #打开网页 def getHtml(url): page = urlopen(url) html = page.read() return html #用正则爬里面的图片地址 def getImage(Html): try: #reg = r'src="(.+?\.jpg)" class' #image = re.compile(reg) image = re.compile(r'<img[^>]*src[=\"\']+([^\"\']*)[\"\'][^>]*>', re.I) Html = Html.decode('utf-8') imaglist = re.findall(image,Html) x =0 for imagurl in imaglist: #将图片一个个下载到项目所在文件夹 urlretrieve(imagurl, '%s.jpg' % x) x+=1 except Exception as e: print(e)
要注意个大问题,python 默认编码的问题。
有可能报UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
,错误。这个要设置python的默认编码为utf-8.
设置最好的方式是写bat文件,
echo off set PYTHONIOENCODING=utf8 python -u %1
然后重启电脑。
相关推荐
夜斗不是神 2020-11-17
染血白衣 2020-11-16
ARCXIANG 2020-11-02
ARCXIANG 2020-10-28
CycloneKid 2020-10-27
荒谬小孩 2020-10-26
逍遥友 2020-10-26
snakeson 2020-10-09
meylovezn 2020-08-28
囧芝麻 2020-08-17
数据挖掘工人 2020-08-15
cxcxrs 2020-07-28
dashoumeixi 2020-07-20
sunzhihaofuture 2020-07-19
我欲疾风前行 2020-07-06
sunzhihaofuture 2020-07-04
Dimples 2020-06-28