IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 医院(多线程) -> 正文阅读

[Python知识库]医院(多线程)

from lxml import etree
from fake_useragent import UserAgent
import time
import json
import requests
import csv
import random
import codecs
import os
from multiprocessing.dummy import Pool
headers={
            'User-Agent':UserAgent().random
        }

url='https://www.bch.com.cn/Html/Hospitals/Departments/Overview0.html'
response=requests.get(url=url,headers=headers)
response.encoding = 'utf-8' 
page_text=response.text

tree=etree.HTML(page_text)
li=[]
# for i in range(1,49):
#     di={}
#     name=tree.xpath('/html/body/div/div[7]/div/div/ul[1]/li[{}]//text()'.format(i))[0]
#     url1=tree.xpath('/html/body/div/div[7]/div/div/ul[1]/li[{}]//@href'.format(i))[0]
#     url1="https://www.bch.com.cn"+url1
#     di["科室"]=name
#     di["URL"]=url1
#     li.append(di)
for i in range(1,3):#9
    di={}
    name=tree.xpath('/html/body/div/div[7]/div/div/ul[2]/li[{}]//text()'.format(i))[0]
    url1=tree.xpath('/html/body/div/div[7]/div/div/ul[2]/li[{}]//@href'.format(i))[0]
    url1="https://www.bch.com.cn"+url1
    if name!="医学伦理委员会":
        di["科室"]=name
        di["URL"]=url1
        li.append(di)
    

# for i in range(1,3):
#     di={}
#     name=tree.xpath('/html/body/div/div[7]/div/div/ul[4]/li[{}]//text()'.format(i))[0]
#     url1=tree.xpath('/html/body/div/div[7]/div/div/ul[4]/li[{}]//@href'.format(i))[0]
#     url1="https://www.bch.com.cn"+url1
#     if name!="临床流行病学与循证医学中心":
#         di["科室"]=name
#         di["URL"]=url1
#         li.append(di)   
    
information=[]    
for l in li:
    url2=l["URL"]
    response1=requests.get(url=url2,headers=headers)
    time.sleep(float(format(random.uniform(0,2), '.2f')))
    response1.encoding = 'utf-8' 
    page_text1=response1.text
    tree1=etree.HTML(page_text1)
    
    new_url1="https://www.bch.com.cn"+tree1.xpath('/html/body/div/div[6]/div[1]/div[2]/div[3]/h2/a/@href')[0]
    print(new_url1)
    
    response2=requests.get(url=new_url1,headers=headers)
    time.sleep(float(format(random.uniform(0,2), '.2f')))
    response2.encoding = 'utf-8' 
    page_text2=response2.text
    tree2=etree.HTML(page_text2)
    li_list=tree2.xpath('/html/body/div/div[6]/div[2]/div/ul/li')
    for list in li_list:
        infor={}
        pict_url="https://www.bch.com.cn"+list.xpath('./a/img/@src')[0]
        doctor_url="https://www.bch.com.cn"+list.xpath('./a/@href')[0]
        doctor_name=list.xpath('./div/a/text()')[0]
        infor["科室"]=l["科室"]
        infor["名字"]=doctor_name
        infor["医生链接"]=doctor_url
        infor["医生图片链接"]=pict_url
        
        information.append(infor)
   
def get_picture(dic):        
    url=dic["医生图片链接"]
    pic=requests.get(url=url,headers=headers).content
    #创建一个文件夹
    if not os.path.exists('./pictures'):
        os.mkdir('./pictures')
    img_path = 'pictures/'+dic['名字']+'.png'
    with open(img_path,'wb') as fp:
        fp.write(pic)
        print('下载成功!')
        
pool=Pool(4)
pool.map(get_picture,information)    
# with codecs.open("医技科室和平台中心.json", 'a', 'utf-8') as fp:
#     json.dump(information, fp, ensure_ascii=False,indent=4,separators=[",",":"])        
    
    
    
    
   
   



  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 11:53:45  更:2021-09-30 11:54:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:49:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码