OMIM基因数据爬取

提示

我代码里面用到的2.csv是一个关于基因id的一部分文件,csv格式

import requests
from lxml import etree
from selenium import webdriver
import time
import os

headers = {
    'User-Agent': "PostmanRuntime/7.20.1",
    'Accept': "*/*",
    'Cache-Control': "no-cache",
    'Postman-Token': "4847ea30-a4b1-4f98-bd3d-c5f41c8ed792,8906cc9c-db81-4f9d-9a3e-4e89ffac7404",
    'Host': "omim.org",
    'Accept-Encoding': "gzip, deflate",
    'Connection': "keep-alive",
    'cache-control': "no-cache"
}

with open('2.csv', 'r', encoding='utf-8') as f:
    ids = f.readlines()
for id in ids:
    id = id.replace('\n', '')
    url = "https://omim.org/entry/" + str(id)
    querystring = {"search": str(id), "highlight": str(id)}
    response = requests.request("GET", url, headers=headers, params=querystring)
    time.sleep(1)
    data = response.content.decode('utf-8')
    if 'Error 403' in data:
        print('Error 403')
        break
    filename = './htmldata/' + str(id) + '.html'
    if not os.path.exists('./htmldata/'):
        os.mkdir('./htmldata/')
    with open(filename, 'a', encoding='utf-8') as f:
        f.writelines(data)
        print(id, url)


这里的爬虫我用到的是最简单的爬虫,我只需要把全网页的html给抓取下来然后生成html格式的文件就可以了

里面有一个sleep(1),是为了让OMIM的服务器不至于封禁我的ip加上的,可以根据自身情况代理,可以写个方法随机代理或者写一个方法随机休眠几秒,没必要和我一样完全写死休眠一秒

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 创建爬虫 重点介绍网络数据采集的基本原理 : 如何用 Python 从网络服务器 请求信息,如何对服务器...
    万事皆成阅读 2,189评论 0 5
  • 最近想在工作相关的项目上做技术改进,需要全而准的车型数据,寻寻觅觅而不得,所以就只能自己动手丰衣足食,到网上获(窃...
    littlelory阅读 3,945评论 7 19
  • 我居北海君南海,寄雁传书谢不能。 桃李春风一杯酒,江湖夜雨十年灯。 重剑无锋,金庸易工而难学;轻刀无形,古龙易学而...
    酒亦关人何事阅读 267评论 0 2
  • 当你老了 当头顶 布满银色的冰霜 我愿意 是你黄昏的夕阳 我给你画上红妆 让慈祥掩盖沧桑 我给你安上翅膀 随归鸟飞...
    冰冰心雨阅读 340评论 16 17
  • 作为一个曾经的痘痘肌女孩,真的不想提到自己的祛痘经历哈哈,这么多年来,用了许多的祛痘产品,也做了很多的功课,现在终...
    d06135e0b6f7阅读 212评论 0 0