python 培训之爬虫
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 培训之爬虫的更多相关文章
- 智普教育Python培训之Python开发视频教程网络爬虫实战项目
网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 01.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 02.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Pytho ...
- 老王Python培训视频教程(价值500元)【基础进阶项目篇 – 完整版】
老王Python培训视频教程(价值500元)[基础进阶项目篇 – 完整版] 教学大纲python基础篇1-25课时1.虚拟机安装ubuntu开发环境,第一个程序:hello python! (配置开发 ...
- 测试开发Python培训:实现屌丝的图片收藏愿望(小插曲)
测试开发Python培训:实现屌丝的图片收藏愿望(小插曲) 男学员在学习python的自动化过程中对于爬虫很感兴趣,有些学员就想能收藏一些图片,供自己欣赏.作为讲师只能是满足愿望,帮助大家实现对美的追 ...
- 测试开发Python培训:抓取新浪微博抓取数据-技术篇
测试开发Python培训:抓取新浪微博抓取数据-技术篇 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的se ...
- 曾Python培训讲师-2年Python开发无包装简历-20191217-可公开
目录 个人介绍 技能介绍 项目经历 自我评价 简历非完整版,需要完整版看下述信息,禁止任何一切私人用途.转发 我生日是27号,那就27元一份,有需求的来购买!只会涨价不会降价,大概卖10份涨1元:曾P ...
- Python 开发轻量级爬虫08
Python 开发轻量级爬虫 (imooc总结08--爬虫实例--分析目标) 怎么开发一个爬虫?开发一个爬虫包含哪些步骤呢? 1.确定要抓取得目标,即抓取哪些网站的哪些网页的哪部分数据. 本实例确定抓 ...
- Python 开发轻量级爬虫07
Python 开发轻量级爬虫 (imooc总结07--网页解析器BeautifulSoup) BeautifulSoup下载和安装 使用pip install 安装:在命令行cmd之后输入,pip i ...
- Python 开发轻量级爬虫06
Python 开发轻量级爬虫 (imooc总结06--网页解析器) 介绍网页解析器 将互联网的网页获取到本地以后,我们需要对它们进行解析才能够提取出我们需要的内容. 也就是说网页解析器是从网页中提取有 ...
- Python 开发轻量级爬虫05
Python 开发轻量级爬虫 (imooc总结05--网页下载器) 介绍网页下载器 网页下载器是将互联网上url对应的网页下载到本地的工具.因为将网页下载到本地才能进行后续的分析处理,可以说网页下载器 ...
随机推荐
- [转]史上最全的CSS hack方式一览
做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道 ...
- react的基本学习
1.<SubSubComp {...this.props } /> 传递属性,{...props}的方式为组件传递了这两个属性,这就是JSX中的延展属性,"..."成为 ...
- 网站flash黑屏问题
操作系统 专业回答 2012-04-12 20:44 看网站视频时,可以小屏看,不能最大化.最大化的时候,只有声音,图象卡住了不动. 解决办法: 1 打开视频 然后最大化 按键 击右健 设置 把加速硬 ...
- less 学习 (计划终于执行了啊,不再拖延了)
1.less是什么? 答:将CSS赋予动态语言的特性, 变量,继承,运算,函数. (less就是一个用js实现的CSS解析器,运行要依赖js引擎). 2.运行原理: 按照指定语法规则写好less文 ...
- Timer定时任务
// main方法 public static void main(String[] args) { timerEnter(); } // 设定指定任务task在指定延迟delay后进行固定延迟per ...
- Gitlab的搭建
从网上看了一大堆的资料,最终选定按照github上的文档来搭建,虽然本人英文不好,就这样看着 这个博客弯曲完全是拷贝过来的,只为了做个笔记 原文地址:https://github.com/gitlab ...
- Entity Framework Code First (二)Custom Conventions
---------------------------------------------------------------------------------------------------- ...
- URI 中特殊字符
URL中的特殊字符 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(1 ...
- ajax文件下载
今天想做一个csv导出,想做ajax下载 JQuery的ajax函数的返回类型只有xml.text.json.html等类型,没有“流”类型,所以要实现ajax下载,不能够使用相应的ajax函数进行文 ...
- RegExp正则校验之Java及R测试
前言: 正则表达式(英语:Regular Expression)原属于计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里边,正则表达式通常被用 ...