zoukankan      html  css  js  c++  java
  • Python网络爬虫部分

    CSDN博客的爬取(链接的爬取)
    在这里插入图片描述
    糗事百科段子爬取(内容的爬取)
    在这里插入图片描述

    用户代理池构建实战

    前面已经学会如何构建用户代理,那么用户代理池如何构建呢?所谓的用户代理池,即将不同的用户代理组建成为一个池子,随后随机调用。
    在这里插入图片描述

    IP代理与IP代理池的构建的两种方案

    IP代理概述
    IP代理是指让爬虫使用代理IP去爬取对方的网站
    在这里插入图片描述
    使用urllib.request.ProxyHandler()来设置对应的代理服务器信息,设置格式为:urllib.request.ProxyHandler({“http”:代理服务器地址})
    上面设置完后,要进行初始化,使用urllib.request.build_opener(代理信息,urllib.request.HTTPHandler)创建一个自定义的opener对象,第一个参数代理信息,第二个参数为urllib.request.HTTPHandler类
    为了方便,使用urllib.request.install_opener()创建全局默认的opener对象,那么在使用urlopen()时,会使用安装的opener对象
    若打开使用wb形式,则不需要转码,因为是wb是使用二进制形式写入;若打开用w形式,则需要转码decode

    IP代理池构建
    第一种方式:使用随机代理池调用IP代理池的构建(适合于代理IP稳定的情况)
    在这里插入图片描述
    第二种方式:通过接口调用法实现IP代理池的构建
    ???待研究

    淘宝商品图片爬虫实战

    #淘宝商品图片爬虫
    import urllib.request
    import re
    import random
    keyname="连衣裙"
    key=urllib.request.quote(keyname)
    uapools=[
        "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",
        "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0",
        "Mozilla/5.0 (Windows; U; Windows NT 6.1; ) AppleWebKit/534.12 (KHTML, like Gecko) Maxthon/3.0 Safari/534.12"
        ]
    
    def ua(uapools):
        thisua=random.choice(uapools)
        print(thisua)
        headers=("User-Agent",thisua)
        opener=urllib.request.build_opener()
        opener.addheaders=[headers]
        #安装为全局
        urllib.request.install_opener(opener)
    
    for i in range(1,101):
        url="https://s.taobao.com/search?q="+key+"&s="+str((i-1)*44)    
        ua(uapools)
        data=urllib.request.urlopen(url).read().decode("utf-8","ignore")
        pat='pic_url":"//(.*?)"'
        imglist=re.compile(pat).findall(data)
        print(imglist)
        for j in range(0,len(imglist)):
            thisimg=imglist[j]        
            thisimgurl="http://"+thisimg
            lockfile="D:/Python练习/淘宝图片/"+str(i)+str(j)+".jpg"
            urllib.request.urlretrieve(thisimgurl,filename=localfile)
  • 相关阅读:
    当前日期减去TIMESTAMP(6)日期
    java 对象之间的复制
    根据用户编码分组。根据日期倒序排序只取其中一条
    最大权闭合子图
    CodeForces-1082E Increasing Frequency
    CodeForces-1082D Maximum Diameter Graph
    HDU 6446 -- Tree and Permutation
    python学习之函数(二)
    python学习之函数(一)
    python学习之文件操作
  • 原文地址:https://www.cnblogs.com/LWK5100/p/14231454.html
Copyright © 2011-2022 走看看