爬取药智网的中药材基本信息库
来源:互联网 发布:mac 开ssh 端口 编辑:程序博客网 时间:2024/04/27 03:52
最近正在做爬虫系列的东西,也是刚刚开始写,写的也不怎么样.....
下面是我写的爬取中药材基本信息库的代码,还请大家多多指导。
首先先看网页,刚开始的时候,</p>中的信息无法读出来,导致后面的信息也读不出来,所以下面就改了一下网址的源码。
然后,信息与信息之间的分割应该是空白符(原来我一直以为是换行符,多亏有大神指导!),
所以代码为:
#coding=utf-8from bs4 import BeautifulSoupimport urllib2import reimport timeclass ZYC(): def __init__(self): #伪装成浏览器访问,适用于拒绝爬虫的网站 self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.24 (KHTML, like '} #获取中药材基本信息库的网址 def gethtml(self,yeshu): full_url = "http://db.yaozh.com/zhongyaocai?p="+str(yeshu) req = urllib2.Request(full_url,None,self.headers) req_timeout=5 response = urllib2.urlopen(req,None,req_timeout) html = response.read() return html #获取自己想要的内容 def getinformation(self): for m in range(1,11): #修改网址标签 html=self.gethtml(m) reg=re.compile(r"</p>") html=reg.sub('',html) reg=re.compile(r"<p>") html=reg.sub('',html) soup=BeautifulSoup(html,"html.parser") Trlist=soup.find_all('tr') if m==1: #获取标题 for item in Trlist[0]: if item not in ['\n','\t',' ']: item=item.get_text(strip=True) with open("ZYC.txt","a") as file: file.write(item.encode('utf-8')+'|') #获取内容 file=open("ZYC.txt","a") for te in Trlist[1:]: file.write('\n') for item in te: if item not in ['\n',' ','\s']: item=item.get_text(strip=True) reg=re.compile(r'\s+') item=reg.sub('',item) file.write(item.encode('UTF-8')+'|') file.close() print("--正在采集%d/11的页数--"%m) time.sleep(5)if __name__ == '__main__': ZYC().getinformation()
1 0
- 爬取药智网的中药材基本信息库
- Python爬取药智网的中药材图谱网页
- 自动负载信息库:AWR的引入
- 利用Jsoup创建属于自己的信息库
- 一个孤立的信息和一个相关的信息库信息网
- www.freedb.org--免费的CD歌曲信息库
- 中药材烘干设备特点
- 中药材烘干设备特点
- 用python的sqlite3维护多站的车系车型信息库
- Windows 2000、Windows XP、Windows Server 2003 和 Windows Vista 的管理信息库支持
- 陇西中药材产业报高
- 创建 MP3 信息库
- SNMP管理信息库MIB
- SNMP管理信息库MIB
- mib - 管理信息库
- mib - 管理信息库
- 用链表构建学生信息库
- Oracle Database 10g:为 DBA 提供的最佳前 20 位的特性 - 6.自动工作负载信息库
- 对各浏览器的检测
- 2015年英语学习——10月
- Handler和Looper区别与关系详解
- 比较String、StringBuffer与StringBuilder
- Backbone系列:Model的学习
- 爬取药智网的中药材基本信息库
- 骑士走盘问题
- iOS 8 Auto Layout界面自动布局系列3-使用代码添加布局约束
- 去bom的php神器
- java 高并发无锁框架 Disruptor 系列一
- Qt进程间通信——共享内存
- Libev源码分析05:Libev中的绝对时间定时器
- 程序员的自我学习 Google Github stackoverflow等
- S3增加防盗链功能和备份策略