您现在的位置是:主页 > news > 怎么自己制作微信小程序/seo发贴软件

怎么自己制作微信小程序/seo发贴软件

admin2025/6/13 4:50:31news

简介怎么自己制作微信小程序,seo发贴软件,做网站创意,武汉新公司做网站环境:win10 python 3.7 requests lxml multiprocessing多进程使用进程池下载代码如下: -1 第一步,发送请求,获取响应,使用requests.get 方法。 -2 第二步 ,使用xpath 对获取的内容进行解析 -3 第三步&#…

怎么自己制作微信小程序,seo发贴软件,做网站创意,武汉新公司做网站环境:win10 python 3.7 requests lxml multiprocessing多进程使用进程池下载代码如下: -1 第一步,发送请求,获取响应,使用requests.get 方法。 -2 第二步 ,使用xpath 对获取的内容进行解析 -3 第三步&#…
  • 环境:win10 python 3.7 requests lxml multiprocessing
  • 多进程
  • 使用进程池下载
  • 代码如下:
    -1 第一步,发送请求,获取响应,使用requests.get 方法。
    -2 第二步 ,使用xpath 对获取的内容进行解析
    -3 第三步,使用进程池,去下载资源。
import os
from multiprocessing import Pool
import requests
from lxml import etree
from multiprocessing import Managerclass SpiderGirls(object):url = ""headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}def get_total_page(self):base_url = config.url+"/{}/"page_url = [base_url.format(i) for i in range(2, 238)]page_url.insert(0, config.url)return page_urldef get_parse(self, url, headers):"""发送请求获取相应"""resp = requests.get(url, headers=headers)htm = etree.HTML(resp.text)return resp, htmdef get_pic_list(self, htm):"""获取图片响应"""pic_list = htm.xpath("//ul[@id='pins']/li")item_info = [{i.xpath('./span/a/text()')[0].strip(): i.xpath('./a/@href')[0]} for i in pic_list]return item_infodef get_personal_url(self, url, headers, name, q):item_img = {name: []}headers["referer"] = config.urlwhile True:resp, htm = self.get_parse(url, headers)headers["referer"] = urlimg_url = htm.xpath('//div[@class="main-image"]/p/a/img/@src')[0]item_img[name].append(img_url)next_url = htm.xpath("//span[text()='下一页»']/../@href")[0] if htm.xpath("//span[text()='下一页»']/../@href") else Noneif not next_url:breakurl = next_urlq.put(item_img)def save_img(self, url):"""保存图片"""print(url)path = "".join([self.path, url.split("/")[-1]])headers = SpiderGirls.headersheaders["referer"] = urlresp, _ = self.get_parse(url, headers)with open(path, "wb") as f:f.write(resp.content)def get_path(self, name):"""获取图片路径"""path = os.path.join(os.path.expanduser('~'), 'Desktop')  # 获取用户的桌面路径dir = "".join([path, "//Girls//", name, "//"])if not os.path.exists(dir):os.makedirs(dir)return dirdef run(self):page_url = self.get_total_page()for url in page_url[:1]:headers = SpiderGirls.headers_, htm = self.get_parse(url, headers)item_info = self.get_pic_list(htm)po = Pool(4)q = Manager().Queue()print(item_info)for item in item_info[12:]:(name, url), = item.items()po.apply_async(self.get_personal_url, (url, headers, name, q))item_img = q.get()path = self.get_path(name)self.path = path # 给实例对象添加属性print(self.path)p = Pool() #进程池下载p.map(self.save_img, item_img[name])if __name__ == '__main__':SpiderGirls().run()