今天我表弟说帮忙爬一下中国药学科学数据,导出json格式给他。一共18万条数据。

看了一下网站http://pharm.ncmi.cn/dataContent/admin/index.jsp?submenu=183

竟然get请求。不爬你爬谁。。。

#/usr/bin/env python
#Guoyabin
#-*- coding:utf-8 -*-
import re,requests,threading,time
def inserttxt(file,text):
f=open(file,'a+')
f.write(text)
f.close() def down(begin,end):
url='http://pharm.ncmi.cn/dataContent/dataSearch.do'
for i in range(begin,end):
file=str(end)+'.txt'
params={'method':'viewpage','id':i,'did':26}
try:
html=requests.get(url,params=params,timeout=60)
r=html.text.replace("\r","")
html.close()
r=r.replace("\n","")
r=r.replace("\t","")
r=r.replace(">","")
req='width="89%">(.*?) </td>'
yaovalue=re.findall(req,r)
yaokey=['{\nname:"','",\nenglish:"','",\nnumber:"','",\nshanpinmingchen:"','",\ndanwei:"','",\ndate:"','",\nclass:"','",\nguige:"','",\njixing:"','",\nleibie:"','",\npizhun:"']
yao=zip(yaokey,yaovalue)
for i in yao:
for x in i:
inserttxt(file,x)
inserttxt(file,'"\n},\n')
#休息3秒在爬,原来没有休息。导致大量TCP连接。且对方直接封我ip。
#18万条数据/10线程*3秒等待/60秒/60分=15个小时拿完对方数据。不如改一下程序,多台独立IP电脑运行了。
time.sleep(3)
except:
print('url访问失败')
continue if __name__=='__main__':
t1=threading.Thread(target=down,args=(2228,20000,))
t1.start()
t2=threading.Thread(target=down,args=(20000,40000,))
t2.start()
t3=threading.Thread(target=down,args=(40000,60000,))
t3.start()
t4=threading.Thread(target=down,args=(60000,80000,))
t4.start()
t5=threading.Thread(target=down,args=(80000,100000,))
t5.start()
t6=threading.Thread(target=down,args=(100000,120000,))
t6.start()
t7=threading.Thread(target=down,args=(120000,140000,))
t7.start()
t8=threading.Thread(target=down,args=(140000,160000,))
t8.start()
t9=threading.Thread(target=down,args=(16000,180000,))
t9.start()
t10=threading.Thread(target=down,args=(18000,183662,))
t10.start()
t10.join()
input('已经下载完,按回车退出')

  开始运行了几次没问题,已经爬下一半了,过了一会直接被封了。可能爬的太快了。容我做个悲伤的表情。

无耻的求一下赞助

python3爬取中国药学科学数据的更多相关文章

  1. 初识python 之 爬虫:爬取中国天气网数据

    用到模块: 获取网页并解析:import requests,html5lib from bs4 import BeautifulSoup 使用pyecharts的Bar可视化工具"绘制图表& ...

  2. python爬取中国天气网站数据并对其进行数据可视化

    网址:http://www.weather.com.cn/textFC/hb.shtml 解析:BeautifulSoup4 爬取所有城市的最低天气   对爬取的数据进行可视化处理 按温度对城市进行排 ...

  3. python3爬取拉钩招聘数据

    使用python爬去拉钩数据 第一步:下载所需模块 requests 进入cmd命令 :pip install requests 回车 联网自动下载 xlwt 进入cmd命令 :pip install ...

  4. python3抓取中国天气网不同城市7天、15天实时数据

    思路:1.根据city.txt文档来获取不同城市code2.获取中国天气网7d和15d不同城市url3.利用requests库请求url获取html内容4.利用beautifulsoup获取7d和15 ...

  5. Python爬取中国天气网

    Python爬取中国天气网 基于requests库制作的爬虫. 使用方法:打开终端输入 “python3 weather.py 北京(或你所在的城市)" 程序正常运行需要在同文件夹下加入一个 ...

  6. Python3 爬取微信好友基本信息,并进行数据清洗

    Python3 爬取微信好友基本信息,并进行数据清洗 1,登录获取好友基础信息: 好友的获取方法为get_friends,将会返回完整的好友列表. 其中每个好友为一个字典 列表的第一项为本人的账号信息 ...

  7. Python3爬取人人网(校内网)个人照片及朋友照片,并一键下载到本地~~~附源代码

    题记: 11月14日早晨8点,人人网发布公告,宣布人人公司将人人网社交平台业务相关资产以2000万美元的现金加4000万美元的股票对价出售予北京多牛传媒,自此,人人公司将专注于境内的二手车业务和在美国 ...

  8. python3爬取微博评论并存为xlsx

    python3爬取微博评论并存为xlsx**由于微博电脑端的网页版页面比较复杂,我们可以访问手机端的微博网站,网址为:https://m.weibo.cn/一.访问微博网站,找到热门推荐链接我们打开微 ...

  9. python3爬取全民K歌

    Python3爬取全民k歌 环境 python3.5 + requests 1.通过歌曲主页链接爬取 首先打开歌曲主页,打开开发者工具(F12). 选择Network,点击播放,会发现有一个请求返回的 ...

随机推荐

  1. HDU 2099 整除的尾数(枚举 & 暴搜)

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2099 思路分析:这道题的解法可以说是相当暴力了,但也有一些小坑,以下几点萌新们值得留意一下: 1. 仔 ...

  2. UVA 156 Ananagrams (STL multimap & set)

    原题链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=98&p ...

  3. 如何将Excl内数据导入数据库?

    最近有个Excl表格内的数据需要导入SQL Server数据库内,使用SQL Server Management Studio客户端图形界面操作了一番,步骤还挺多,感觉有必要分享给大家一下,顺便自己也 ...

  4. 在字节,A/B 实验是这么做的!

    主要为大家介绍了为什么要做 A/B 测试.火山引擎的 A/B 测试系统架构及字节跳动内部 A/B 测试的最佳实践. 为什么要做 A/B 测试 首先我们看一个案例. 字节跳动有一款中视频产品叫西瓜视频, ...

  5. Java中的常用类——Arrays

    数组工具类java.util.Arrays Arrays类中的方法都是static修饰的静态方法,因此可以直接使用类名.方法名来调用,而不用通过new使用对象来调用(是"不用"不是 ...

  6. RichTextBox单独设置文字颜色

    richTextBox1.Select(index, "str1".Length); richTextBox1.SelectionColor = Color.Red;

  7. 个人作业2-6.4-Python爬取顶会信息

    1.个人作业2 数据爬取阶段 import requestsfrom lxml import etreeimport pymysqldef getdata(url): # 请求CVPR主页 page_ ...

  8. 【Vue源码学习】响应式原理探秘

    最近准备开启Vue的源码学习,并且每一个Vue的重要知识点都会记录下来.我们知道Vue的核心理念是数据驱动视图,所有操作都只需要在数据层做处理,不必关心视图层的操作.这里先来学习Vue的响应式原理,V ...

  9. python32day

    内容回顾 操作系统的历史 多道操作系统 分时操作系统 实时操作系统 进程 线程 并行和并发 同步和异步 阻塞和非阻塞 今日内容 进程的三状态图 进程的调度算法 给所有进程分配资源或者分配CPU使用权的 ...

  10. Lesson3——Pandas Series结构

    1 什么是Series结构? Series 结构,也称 Series 序列,是 Pandas 常用的数据结构之一,它是一种类似于一维数组的结构,由一组数据值(value)和一组标签组成,其中标签与数据 ...