欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用爬虫对植物定种

程序员文章站 2024-03-18 21:11:52
...

代码

# -*- coding: UTF-8 -*-
import urllib
import urllib2
import re
name = str(raw_input('请输入物种名:'))
values={}
values['id'] = name
data = urllib.urlencode(values)
url = "http://frps.iplant.cn/frps"
geturl = url + "?"+data
request = urllib2.Request(geturl)
response = urllib2.urlopen(request)
content = response.read()
if "响应时间" in content:
    pattern = re.compile('24px.*?b>.*?\. (.*?)<', re.S)
    species = re.findall(pattern, content)
    species = species[0].replace(' ', ',').replace(',', ',')
    pattern = re.compile('16px.*?Arial.*?b>(.*?)<.*?<b>(.*?)</b>', re.S)
    name = re.findall(pattern, content)
    name = " ".join(name[0])
    pattern = re.compile('<div.*?rightcon">(.*?)</div>', re.S)
    content = re.findall(pattern, content)
    # ?:的意思是不会作为子模式被查找
    pattern = re.compile('<span.*?>(.*?(?:门|纲).*?)<', re.S)
    # pattern = re.compile('<span.*?>([^<]*)<', re.S)
    items = re.findall(pattern, content[0])
    pattern = re.compile('<span.*?<a.*?>(.*?)</a', re.S)
    items += re.findall(pattern, content[0])
    items.append(species+" "+name)
    for item in items:
        print item
else:
    url = "https://zh.wikipedia.org/wiki/"
    geturl = url+data
    request = urllib2.Request(geturl)
    response = urllib2.urlopen(request)
    content = response.read()
    print content

原始页面

使用爬虫对植物定种

查询效果

使用爬虫对植物定种

相关标签: 爬虫 植物