Python爬虫学习

 

download
https://www.python.org/downloads/release/python-352/

python实现简单爬虫功能
http://www.cnblogs.com/fnng/p/3576154.html

关于api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案
https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145

can't use a string pattern on a bytes-like object
imglist = re.findall(imgre,html.decode('GBK'))

inconsistent use of tabs and space in indentation
把tab替换成空格

UnicodeDecodeError:'gbk' codec can't decode byte 0xaf in position 197:illegal multibyte sequence
html.decode('utf-8')

以下是3.5.2版本的python所能用的

#coding=utf-8
import urllib.request
import re

def getHtml(url):
    page = urllib.request.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.decode('utf-8'))
    x = 0
    for imgurl in imglist:
        urllib.request.urlretrieve(imgurl,'D://%s.jpg' % x)
        x+=1
    print(x)

 

html = getHtml("http://tieba.baidu.com/p/2460150866");

getImg(html)

 

如果网页是用GBK字符集,则相应做修改
charset=gbk

#coding=utf-8
import urllib.request
import re
import datetime,time

def getHtml(url):
    page = urllib.request.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    reg = r'file="(.+?\.jpg)"'
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html.decode('gbk'))
    x = 0
    for imgurl in imglist:
        urllib.request.urlretrieve(imgurl,'D://06_Download//py//%s.jpg' % x)
        x+=1
    print("得到文件总数",x)


starttime= datetime.datetime.now()
html = getHtml("http://www.cmfish.com/bbs/forum.php?mod=viewthread&tid=306167&extra=page%3D1");
getImg(html)
usetime= datetime.datetime.now()-starttime
print('所花时间:',usetime) 


posted on   白马酒凉  阅读(174)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示