python3.4爬虫demo
作者:chenqiangdage 时间:2023-10-24 21:46:24
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
然后重启电脑。
来源:https://blog.csdn.net/chenqiangdage/article/details/51168231
标签:python,爬虫
0
投稿
猜你喜欢
CentOS 5.5使用yum来安装LAMP(php运行环境)
2023-11-14 12:15:52
python通过tcp发送xml报文的方法
2021-02-18 08:34:25
Python pip更新的两种方式详解
2022-07-06 20:00:29
Python threading.local代码实例及原理解析
2021-09-03 06:14:07
Python虚拟环境的创建和包下载过程分析
2023-01-02 12:46:10
Tensorflow全局设置可见GPU编号操作
2021-04-21 12:41:46
webpack构建的详细流程探底
2024-04-10 10:38:39
django session完成状态保持的方法
2021-12-07 16:12:02
使用VSCode如何从github拉取项目的实现
2023-02-02 10:32:35
Python对接支付宝支付自实现功能
2023-09-19 13:57:51
python中的try except与R语言中的tryCatch异常解决
2021-10-22 02:24:48
python 使用 requests 模块发送http请求 的方法
2021-06-02 17:29:19
Python3中configparser模块读写ini文件并解析配置的用法详解
2022-11-02 12:11:14
Python通过wordcloud库实现将单词生成词云
2022-02-24 20:17:18
PyQt5使用mimeData实现拖拽事件教程示例解析下
2021-02-15 11:09:03
基于python实现学生管理系统
2021-11-24 21:07:48
详解Python发送email的三种方式
2023-07-01 07:19:28
python 实现读取一个excel多个sheet表并合并的方法
2023-06-25 20:11:51
Python PyQt5实战项目之网速监控器的实现
2023-05-25 12:57:07
MySQL中将一列以逗号分隔的值行转列的实现
2024-01-20 15:31:23