学习python没多久,所以只能写一个很简单的爬虫啦~~

我使用annacada 自带的spyder来写爬虫的,这次我们要爬取得网站是http://www.drugbank.ca/drugs,

主要是爬取里面每种药物的信息到json文件中,包括有

DrugBank ID,  Name , Weight, Structure,   Categories,   TherapeuticIndication。

首先我们先要在命令提示符那里输入一个语句来创建项目:scrapy startproject drugs  //drugs是自己取得名字。

然后命令提示符上就会有关于创建的文件夹在哪个路径,我们对应去找就会找到的。找到之后我们会看到很多的文件,其中我们先用spyder去打开items.py这个文件,然后在里面编写代码:

import scrapy

class TutorialItem(scrapy.Item):

#define the fields for your item here like:

#name = scrapy.Field()

DrugBankId = scrapy.Field(); //这些名字(DrugBankId,Name......)都是我们想要爬取出来的信息。

Name = scrapy.Field();

Weight = scrapy.Field();

Structure = scrapy.Field();

Categories = scrapy.Field();

TherapeuticIndication = scrapy.Field();

Pass

然后我们在spider文件夹下自己创建一个.py结尾的文件来编写主要的代码。

我创建了drugbank.py的文件,然后在里面输入:

#-*- coding:utf-8 -*-

import scrapy

import string

from drugs.items import TutorialItem

class drugbank(scrapy.Spider):

# 定义爬虫的名称,主要main方法使用

name = 'drugbank'  //在命令提示符中用来调用的。

allowed_domains=["drugbank.ca"]

start_urls=["http://www.drugbank.ca/drugs"]

# 解析数据

def parse(self, response):

items = []

i="0"

for sel in response.xpath('//table/tbody/tr'):

item = TutorialItem()

a=string.atoi(i)+1

i=str(a)

item['DrugBankId']=sel.xpath('//table/tbody/tr['+i+']/td[1]/a/text()').extract()

item['Name']=sel.xpath('//table/tbody/tr['+i+']/td[2]/strong/a/text()').extract()

item['Weight']=sel.xpath('//table/tbody/tr['+i+']/td[3]/text()[1]').extract()

item['Structure']=sel.xpath('//table/tbody/tr['+i+']/td[4]/a/img/@src').extract()

item['Categories']=sel.xpath('//table/tbody/tr['+i+']/td[5]/a/text()').extract()

item['TherapeuticIndication']=sel.xpath('//table/tbody/tr['+i+']/td[6]/text()').extract()

items.append(item)

yield item

#翻页

next_page =response.xpath('//ul/li[@class="next_page"]/a/@href')

if next_page:

url = response.urljoin(next_page[0].extract())

#爬每一页

yield scrapy.Request(url, self.parse)

我们在命令提示符中进入到drugs目录下,即输入cd drugs,然后回车再输入 scrapy crawl drugbank -o items.json -t json

其中drugbank是在drugbank文件中的name的属性,items.json是你想将数据存放到这个文件中,所以这个名字是自定义的。

执行完这个,我们就可以在drugs文件夹下找到items.json文件,里面就存放着从网页下爬取出来的药物的信息。

用python写一个简单的爬虫保存在json文件中相关推荐

  1. 用python写一个简单的爬虫_Python实现简易Web爬虫详解

    编辑推荐: 本文主要介绍了Python实现简易Web爬虫详解,希望对大家有帮助. 本文来自于脚本之家 ,由火龙果软件Alice编辑,推荐. 简介: 网络爬虫(又被称为网页蜘蛛),网络机器人,是一种按照 ...

  2. 用python写一个简单的爬虫_用Python编写一个简单的爬虫

    作者信息: Author : 黄志成(小黄) 博客地址: 博客 呐,这是一篇福利教程.为什么这么说呢.我们要爬取的内容是美图网站(嘿嘿,老司机都懂的) 废话不多说.开始今天的表演. 这个图集网站不要问 ...

  3. python写一个简单的爬虫程序(爬取快手)(附源码)

    快手是一个有意思的视频应用,但是它有一些视频不让下载,我们今天就用爬虫来实现爬取不让下载的视频: 首先右键点击检查,我们可以看见找到了视频的src,访问这个src就可以得到视频的下载网址,如下: 右键 ...

  4. 用python写一个简单的爬虫_用Python从零开始写一个简单爬虫

    import requests from bs4 import BeautifulSoup url = "https://tieba.baidu.com/f?kw=王者荣耀&fr=h ...

  5. python爬虫抢火车票_如何用python写一个简单的12306抢票软件|python 爬火车票 教程...

    python 如果抓取验证码图片 类似12306的登录验证码图片 这个以前做次.最大的麻烦是码的识别算法的识别率太低.12306那种网站登陆错3次就限制你20分钟.所以除非你有33%以上的识别率否则不 ...

  6. 用python写一个简单的web服务器

    人生苦短,我用python 简洁高效,这才是理想的语言啊 分享一点python的学习经验-----如何用python写一个简单的web服务器 首先,我们需要简单地了解一下网络通信协议,这里用白话介绍一 ...

  7. 利用python写一个简单的双色球彩票系统

    利用python写一个简单的双色球彩票系统 1.设置每次买的号码一样 写一个双色球彩票系统,系统可以随机产生一组数据,一组彩票数据有六位数,这六位数的的取值范围是0和1. 一张彩票是两块钱,用户可以选 ...

  8. 用Python写一个简单的双均线策略分析

    用Python写一个简单的双均线策略 双均线策略 先罗列一下我知道的量化策略: 双均线:一句话来讲就是金叉买死叉卖. 布林带:突破压力线(上轨)清仓,跌破支撑线(下轨)持仓. PEG:根据PE/G调整 ...

  9. java 格式化json_JAVA 格式化JSON数据并保存到json文件中的实例

    使用fastjson格式化json数据并保存到文件 /** * 将JSON数据格式化并保存到文件中 * @param jsonData 需要输出的json数 * @param filePath 输出的 ...

最新文章

  1. 今天教你用 Python调用两个机器人聊天
  2. Java黑皮书课后题第2章:*2.19(几何:三角形面积)编写程序,提示用户输入三角形的三个点(x1, y1)(x2, y2)(x3, y3),然后显示它的面积
  3. JAVA程序通过JNI调用C/C++库
  4. SpringCloud入门之应用程序上下文服务(Spring Cloud Context)详解
  5. 荣耀双十一开门红:斩获多品类销量及销售额冠军
  6. doe全称是什么意思_QA、QC、QE…都是什么意思
  7. 【maven详解-插件】maven插件学习之maven-source-plugin
  8. js实现搜索框智能提示上下移动效果
  9. Win10安装JDK与配置环境变量
  10. 漫游飞行_涨知识了,手机的飞行模式还能这么用?
  11. php生成图形验证码的几种方法
  12. c++语言“case”,C++ switch case详解
  13. 微积分公式与运算法则
  14. nginx 会话保持
  15. 逻辑思维训练——假设法
  16. 北京最牛的医院 最牛的科室排名出炉
  17. layer扩展打开/关闭动画
  18. landesk桌面管理
  19. ASCII码对照表(C++17 实现ANSI、UTF8、Unicode字符编码互转)
  20. KNIME 安装配置

热门文章

  1. MEID简介 ESN
  2. java静态函数_(基础)java中的静态变量与静态函数Static
  3. 计算机无法ghost安装系统安装系统安装,如何解决我的电脑装不上GHOST系统 惠普电脑安装不了ghost系统文件的解决方法...
  4. 串口示波器 serial_port_plotter 二次开发环境搭建(含 QT搭建)
  5. 【愚公系列】2023年06月 网络安全(交通银行杯)-Android
  6. Windows 10下mysql 64位 安装(mysql-5.7.11-winx64安装)
  7. ORA-22858 invalid alteration of datatype varchar2转化clob
  8. 迅雷7.9.8.4550 Ayu精简绿化版
  9. 网络存储技术Windows server 2012 (项目四 存储池的高级配置与管理)
  10. 计算机课件文字,计算机基础——文字录入ppt课件