爬取药智网的中药材基本信息库
2015-10-31 11:22
176 查看
最近正在做爬虫系列的东西,也是刚刚开始写,写的也不怎么样.....
下面是我写的爬取中药材基本信息库的代码,还请大家多多指导。
首先先看网页,刚开始的时候,</p>中的信息无法读出来,导致后面的信息也读不出来,所以下面就改了一下网址的源码。
然后,信息与信息之间的分割应该是空白符(原来我一直以为是换行符
,多亏有大神指导!
),
所以代码为:
下面是我写的爬取中药材基本信息库的代码,还请大家多多指导。
首先先看网页,刚开始的时候,</p>中的信息无法读出来,导致后面的信息也读不出来,所以下面就改了一下网址的源码。
然后,信息与信息之间的分割应该是空白符(原来我一直以为是换行符
,多亏有大神指导!
),
所以代码为:
#coding=utf-8 from bs4 import BeautifulSoup import urllib2 import re import time class 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()
相关文章推荐
- WCF 入门 (18)
- KMP模式匹配算法
- 对各浏览器的检测
- UIView UILabel UITextField UIButton UIImageView 常用属性
- iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
- KMP模式匹配算法
- google浏览器 加js方法 getSystemTime ctrl+f5刷新多次,自动调用。。
- 背包问题
- 用JAVA开发WEB Service
- myql 数据库连接池
- 用例图练习
- POJ1579——Function Run Fun(记忆化递归)
- Rafy 框架 - 为数据库生成注释
- Backbone系列:Router的学习
- Timus Online Judge 1658 Sum of Digits
- poj1258prim算法
- mil,mm与inch之间的转换
- poj1258prim算法
- sublime text 全局搜索
- 高并发与锁(二)