1. 输入文件为

fufang_list.txt

yaofang_a    aaiwan    阿艾丸
yaofang_a aaiwulingsan 阿艾五苓散
yaofang_a acaitang 阿菜汤
yaofang_a afurongjiu 阿芙蓉酒
yaofang_a aqietuoyao 阿伽陀药
yaofang_a aweichubisan 阿魏搐鼻散
yaofang_a aweigao 阿魏膏
yaofang_a aweigaoyao 阿魏膏药
yaofang_a aweihuapigao 阿魏化痞膏
yaofang_a aweihuapisan 阿魏化痞散
yaofang_a aweijikuaiwan 阿魏积块丸
yaofang_a aweileiwansan 阿魏雷丸散
yaofang_a aweilizhongwan 阿魏理中丸
yaofang_a aweiliangjiangwan 阿魏良姜丸
yaofang_a aweiruanjiansan 阿魏软坚散
yaofang_a aweisan 阿魏散
yaofang_a aweishexiangsan 阿魏麝香散
yaofang_a aweitongjingwan 阿魏通经丸
yaofang_a aweiwan 阿魏丸
yaofang_a aweiwanlinggao 阿魏万灵膏

2. 爬虫脚本

get_tcmdata.py

#!/usr/bin/python
#coding:utf8
from __future__ import print_function
import click
import urllib2
import re
from bs4 import BeautifulSoup
import sys
reload(sys)
import socket
sys.setdefaultencoding("utf8")
socket.setdefaulttimeout(20) base_url = "http://www.zysj.com.cn/zhongyaofang/{}.html"
headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'} @click.command()
@click.argument('input1')
@click.option("--pos",'-pos')
def query_tcm_info(input1,pos):
"""
the script will ignore the previous pos lines
"""
zhongyaofang_list = open(input1)
pos = int(pos)
num = 0
if pos:
for i in range(0,pos):
zhongyaofang_list.readline()
num = num + pos
for zhongyaofang_info in zhongyaofang_list:
num = num +1
zhongyaofang_info_list = zhongyaofang_info.strip("\n").split("\t")
url_id = "/".join(zhongyaofang_info_list[0:2])
file_out = "_".join(zhongyaofang_info_list[0:2])
file_out_name = "_".join([file_out,str(num)])
output_file = open(file_out_name+".txt","w")
query_url = base_url.format(url_id)
req = urllib2.Request(query_url,headers = headers)
content = urllib2.urlopen(req,timeout=20).read()
soup = BeautifulSoup(content)
words = soup.getText()
output_file.write(words) if __name__ == "__main__":
query_tcm_info()

3. 运行脚本命令

python  get_tcmdata.py fufang_list.txt --pos 0

4. 简单百度爬虫

#!/usr/bin/python
#coding:utf8
from __future__ import print_function
import sys
reload(sys)
sys.setdefaultencoding("utf8")
import urllib2 request = urllib2.Request(url)
request.add_data('a',"")
request.add_heder('User-Agent',"Mozilla/5.0")
response = urllib2.urlopen(request)
cont = response.read()
print(cont)

m = requests.post("http://www.megabionet.org/tcmid/ingredientsearch/?name=adonitol")

m.url

python 培训之爬虫的更多相关文章

  1. 智普教育Python培训之Python开发视频教程网络爬虫实战项目

    网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 01.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 02.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Pytho ...

  2. 老王Python培训视频教程(价值500元)【基础进阶项目篇 – 完整版】

    老王Python培训视频教程(价值500元)[基础进阶项目篇 – 完整版] 教学大纲python基础篇1-25课时1.虚拟机安装ubuntu开发环境,第一个程序:hello python! (配置开发 ...

  3. 测试开发Python培训:实现屌丝的图片收藏愿望(小插曲)

    测试开发Python培训:实现屌丝的图片收藏愿望(小插曲) 男学员在学习python的自动化过程中对于爬虫很感兴趣,有些学员就想能收藏一些图片,供自己欣赏.作为讲师只能是满足愿望,帮助大家实现对美的追 ...

  4. 测试开发Python培训:抓取新浪微博抓取数据-技术篇

    测试开发Python培训:抓取新浪微博抓取数据-技术篇   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的se ...

  5. 曾Python培训讲师-2年Python开发无包装简历-20191217-可公开

    目录 个人介绍 技能介绍 项目经历 自我评价 简历非完整版,需要完整版看下述信息,禁止任何一切私人用途.转发 我生日是27号,那就27元一份,有需求的来购买!只会涨价不会降价,大概卖10份涨1元:曾P ...

  6. Python 开发轻量级爬虫08

    Python 开发轻量级爬虫 (imooc总结08--爬虫实例--分析目标) 怎么开发一个爬虫?开发一个爬虫包含哪些步骤呢? 1.确定要抓取得目标,即抓取哪些网站的哪些网页的哪部分数据. 本实例确定抓 ...

  7. Python 开发轻量级爬虫07

    Python 开发轻量级爬虫 (imooc总结07--网页解析器BeautifulSoup) BeautifulSoup下载和安装 使用pip install 安装:在命令行cmd之后输入,pip i ...

  8. Python 开发轻量级爬虫06

    Python 开发轻量级爬虫 (imooc总结06--网页解析器) 介绍网页解析器 将互联网的网页获取到本地以后,我们需要对它们进行解析才能够提取出我们需要的内容. 也就是说网页解析器是从网页中提取有 ...

  9. Python 开发轻量级爬虫05

    Python 开发轻量级爬虫 (imooc总结05--网页下载器) 介绍网页下载器 网页下载器是将互联网上url对应的网页下载到本地的工具.因为将网页下载到本地才能进行后续的分析处理,可以说网页下载器 ...

随机推荐

  1. SQL Server 2012新特性(1)T-SQL操作FileTable目录实例

    在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contai ...

  2. 揭秘Facebook首个数据中心:全球15亿用户的账户信息都在这里

      投递人 itwriter 发布于 2016-07-14 17:41 评论(0) 原文链接 [收藏]  对于 Facebook.Google 这种体量的科技公司而言,数据中心应该是处于军事级别的保密 ...

  3. team foundation server——网络代码管理工具

    像我们平时有时会莫名的弹出一个如下图所示的提示框,这个是什么呢?这个就是有人用team foundation server进行过代码管理的项目 那么team foundation server到底是什 ...

  4. 1014mysqldumpslow.pl简单分析慢日志 WINDOW平台

    转自http://www.th7.cn/db/mysql/201507/113998.shtml 要想运行mysqldumpslow.pl(这是perl程序),下载perl编译器.下载地址:http: ...

  5. Android中的进程与线程

    四大组件都是运行在主线程中 1.前台进程:用户正在交互,相当于Activity执行了onResume方法 2.可见进程:用户失去了焦点,相当于Activity执行了onPause方法 3.服务进程:运 ...

  6. 【转】oracle数据库开发的一些经验积累

    1.不安装Oracle客户连接Oracle 8的方法  请将以下文件拷贝到运行文件所在目录 一.ODBC动态库 : ctl3d32.dll msvcrt40.dll odbc16gt.dll odbc ...

  7. shell替换一个或多个空格为逗号

    (1)把文本中的一个或者多个空格替换为逗号 文本内容如下: # cat text 1 2 4 2 2 3 4 3 3 4 4 4 4 2 4 (2)shell程序代码为: # cat text | s ...

  8. ASP.net mvc Code First 更新数据库

    code first 数据库迁移步骤如下: 第一步:Add-Migration DataBase_Init 1. Install-Package EntityFramework.zh-Hans –Ve ...

  9. 【USACO 1.3】Combination Lock

    /* TASK:combo LANG:C++ URL:http://train.usaco.org/usacoprob2?a=E6RZnAhV9zn&S=combo SOLVE:自己做,想的是 ...

  10. HDU2203 亲和串

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...