久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 957|回復: 0
打印 上一主題 下一主題
收起左側(cè)

關于用socket實現(xiàn)一個超簡單的爬蟲

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:436060 發(fā)表于 2018-11-29 20:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#僅供參考
import socket
import ssl
import re       
import os


url = "http://csse.xjtlu.edu.cn/classes/CSE205/"
protocol = url.split('://')[0]

u = url.split('://')[1]
i = u.find('/')
host = u[:i]
path = u[i:]
file_path='D:\\{}'.format(host)

def  get_html(url):

    if protocol =='https':
        sock= ssl.wrap_socket(socket.socket())
        port = 443

    else:
        sock = socket.socket()
        port = 80

    sock.connect((host,port))

    request = 'GET {} HTTP/1.1\r\nhost:{}\r\n\r\n'.format(path, host)
    print( request)

    sock.send(request.encode())
    response = b''
    buffer_size = 1024
    while True:
        r = sock.recv(buffer_size)
        response += r
        if len(r) < buffer_size:
            break

    response = response.decode()
    print(response)
    return response



def get_img(response):

    imgre = re.compile(r"""<img\s.*?\s?src\s*=\s*['|"]?([^\s'"]+).*?>""",re.I)
    imglist = re.findall(imgre,response)

    for src in imglist:

        if protocol =='https':
            sock2= ssl.wrap_socket(socket.socket())
            port = 443
        else:
            sock2= socket.socket()
            port = 80

        sock2.connect((host,port))
        request2='GET {}{} HTTP/1.1\r\nhost:{}\r\n\r\n'.format(path,src,host)
        print(request2)
        sock2.send(request2.encode())
        response2 = b''
        buffer_size = 1024
        while True:
            r = sock2.recv(buffer_size)
            response2 += r
            if len(r) < buffer_size:
                break
        data=response2.split("\r\n\r\n".encode())[1]

        src=src.replace('/','.');
        file_path='D:\\{}\{}'.format(host,src)

        with open (file_path,'wb') as f:
            f.write(data)


def mkdir(file_path):

    isExists=os.path.exists(file_path)
    if not isExists:
        os.makedirs(file_path)
        return True
    else:
        return False


mkdir(file_path)
response = get_html(url)
get_img(response)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品视频偷伦精品视频 | 欧美jizzhd精品欧美巨大免费 | 成人欧美一区二区三区黑人孕妇 | 爱爱视频日本 | 美女久久久久久久 | 黄色大片免费网站 | 亚洲福利在线观看 | 国产色网 | 在线免费av观看 | 狠狠操在线 | 波多野结衣一区二区三区 | 中文字幕在线国产 | 五月婷婷激情网 | 狠狠躁夜夜躁人人爽天天高潮 | 在线亚洲电影 | 欧美成年人 | 国产日韩亚洲欧美 | 免费精品视频在线观看 | 精品一区二区三区在线观看 | 欧美日韩综合一区 | 一级欧美日韩 | 欧美日韩成人在线 | 四虎影音 | 一级免费a | 亚洲精品视频在线 | 国产成人a亚洲精品 | 午夜精品一区二区三区在线视频 | 在线观看中文字幕dvd播放 | 天天草天天干天天 | 欧美日韩综合精品 | 无码国模国产在线观看 | 91久操视频| 欧美a v在线 | 一呦二呦三呦国产精品 | 久久精品免费 | 欧美精品被 | 久久精品亚洲精品国产欧美kt∨ | 成人亚洲一区 | 日本 欧美 三级 高清 视频 | 国产精品国产三级国产aⅴ无密码 | 99视频在线播放 |