python
Charles_456
这个作者很懒,什么都没留下…
展开
-
python将回车作为输入内容
当input输入内容的时候,许多情况下输入回车键另起一行输入,但是这时候Pycharm就执行程序,然后结束,导致无法继续输入内容。原因:Python默认遇到回车的时候,输入结束。所以我们需要更改这个提示符,在遇到其他字符的时候,输入才结束。比如有一道题:原创 2017-01-01 07:56:14 · 54138 阅读 · 5 评论 -
lxml解析html时,检验XPath
这两天在研究Scrapy,在遇到用Xpath提出时,需要有Chrome的XPath helper,但老是出现错误。废话少说,还是先把测试网页保存到本地,逐步的测试提取。测试文本text.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>测试-常规方法</title></head><b原创 2017-02-05 20:29:52 · 5202 阅读 · 0 评论 -
解决Requests中文乱码
都在推荐用Requests库,而不是Urllib,但是读取网页的时候中文会出现乱码。分析: r = requests.get(“http://www.baidu.com“) **r.text返回的是Unicode型的数据。 使用r.content返回的是bytes型的数据。 也就是说,如果你想取文本,可以通过r.text。 如果想取图片,文件,则可以通过r.content。**获取一原创 2017-02-06 09:37:19 · 87671 阅读 · 8 评论 -
网络爬虫:Requests+lxml
目标:百度百科Python词条相关网页—标题和简介 入口页:http://baike.baidu.com/view/21087.htm原创 2017-02-04 08:32:48 · 6418 阅读 · 2 评论 -
魔法方法:属性访问
需求: 1. 写一个矩形类,默认有宽和高两个属性; 2. 如果为一个叫square的属性赋值,那么说明这是一个正方形,值就是正方形的边长,此时宽和高都应该等于边长。# -*- coding: utf-8 -*-class Rectangle: def __init__(self,length=0, width=0): self.length=length转载 2017-01-15 08:28:21 · 479 阅读 · 0 评论 -
__getattr__和__getattribute__的区别
getattr(self, item)定义当用户试图获取一个不存在的属性的行为 getattribute(self, item)定义该类的属性被访问时的行为因为,计算机肯定先访问存在的属性,如果没有再访问不存在的属性,即先访问getattribute(self, item),再访问getattr(self, item)举例1:class Demo: def __getattr__(self转载 2017-01-15 09:18:37 · 1392 阅读 · 1 评论 -
以写模式打开一个文件
以写模式打开一个文件代码如下: “` pythonf1 = open(‘OpenMe.mp3’) f2 = open(‘OpenMe.txt’, ‘x’) # 使用”x”打开更安全 f2.write(f1.read()) f2.close() f1.close() 这里write写入的数据需要是str格式,如果是list[]就出现问题。当然可以通过“ “.join(lis原创 2016-12-31 10:41:13 · 1297 阅读 · 0 评论 -
网络爬虫:识别网站编码,然后转码,然后写入txt文档
读取一个网页信息时,需要了解编码格式,然后进行解码。推荐使用chardet包中detect()函数import urllib.requestresponse=urllib.request.urlopen("http://baidu.com").read()import chardetprint ("该网页使用的编码是:%s" %(chardet.detect(response)))该网页使用的原创 2017-01-17 10:49:33 · 3014 阅读 · 0 评论 -
使用http.cookiejar生产Cookie模拟用户登陆
# -*- coding: utf-8 -*-import reimport urllib.parseimport urllib.requestfrom http.cookiejar import CookieJar#豆瓣的登录urlloginurl = "https://www.douban.com/accounts/login"cookie = CookieJar()opener =原创 2017-01-18 14:39:10 · 3796 阅读 · 3 评论 -
网络爬虫:利用有道实现“语言翻译”功能
代码如下:import urllib.requestimport urllib.parseimport jsondef main(): while True: content=input("请输入需要翻译的内容(退出输入q):") if content in ("Q","q","quit"): break else:原创 2017-01-18 09:44:13 · 5598 阅读 · 4 评论 -
网络爬虫:百度百科
爬百度百科的词条编写一个爬虫,爬百度百科“网络爬虫”的词条(链接:http://baike.baidu.com/view/284853.htm),将所有包含“view”的链接按下边格式打印出来。锁定 –> http://baike.baidu.com/view/10812319.htm 网络爬虫 –> http://baike.baidu.com/view/284853.htm 蜘蛛 –> ht原创 2017-01-19 16:04:08 · 2140 阅读 · 1 评论 -
scarpy使用遇到的坑,总结
除了抓取第一页外,抓取第2,3等下一页参考:Python + Scrapy 抓取豆瓣电影 top 250 http://www.jianshu.com/p/62e0a588ee0d # 翻页 next_page = response.xpath('//span[@class="next"]/a/@href') if next_page: url = respons原创 2017-02-11 10:37:48 · 1948 阅读 · 0 评论 -
Pycharm和Anaconda中如何安装package
为了方便,我安装了Anaconda3,集成了许多包。安装新包可以通过如下方式: File–>Settings–>Project: Python Program–>Program Interpreter–>”+”–>search package–>install Package但是有时候,search找不到需要的包,就需要手动下载。以easygui为例,讲解如何安装: 1、http://easyg原创 2017-01-04 11:28:41 · 28527 阅读 · 0 评论 -
网络爬虫:淘女郎
#_*_ coding:utf-8 _*_import urllib.requestfrom bs4 import BeautifulSoupimport osimport refrom selenium import webdriverclass Spider: #页面初始化 def __init__(self): self.siteURL = "http原创 2017-01-26 17:56:04 · 635 阅读 · 0 评论 -
网络爬虫:各种模板
运行BeautifulSoupimport urllib.requestimport urllib.errorfrom bs4 import BeautifulSoupdef get_title(url): try: req=urllib.request.Request(url) response=urllib.request.urlopen(req)原创 2017-01-26 18:08:30 · 5957 阅读 · 0 评论 -
python selenium环境配置Firefox和Chrome
1、下载Selenium库,可以使用pip install selenium https://pypi.python.org/pypi/selenium/ 2、下载驱动 Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads Firefox: https://github.com/mozilla/ge原创 2017-01-24 15:40:07 · 15244 阅读 · 0 评论 -
Python2自动转Python3
cmd中E:\Program Files\Anaconda3\Tools\scripts>python 2to3.py -w "E:\Python Program\b.py"因为cmd中E:\Python Program\b.py不识别长语句,会将E:\Python与Program\b.py拆开,因此需要加“”。在pycharm中 配置步骤第一步: pyCharm菜单栏–>「File」–>「S原创 2017-01-28 22:07:05 · 1046 阅读 · 0 评论 -
类组合
需求:要求定义一个类,叫水池,水池里要有乌龟和鱼。 注意:水池与(乌龟和鱼)没有继承关系,顾不能用super()class Turtle: def __init__(self,x): self.num=xclass Fish: def __init__(self,x): self.num=xclass Pool: def __init__(s转载 2017-01-05 22:00:51 · 410 阅读 · 0 评论 -
常用正则表达式爬取网页信息及分析HTML标签总结
见链接 https://yq.aliyun.com/articles/26026摘要: 这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法。它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬虫、BeautifulSoup分析网页DOM节点,这就更方便了,但本文更多的是介绍基于正则的底层爬取分析。转载 2017-02-05 09:33:03 · 10292 阅读 · 0 评论 -
Python 统计文件行数
如何统计读取的一个txt文本的行数呢?最简单的办法是把文件读入一个大的列表中,然后统计列表的长度。如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了:count = len(open(filepath,'rU').readlines())如果是非常大的文件,上面的方法可能很慢,甚至失效.此时,可以使用循环来处理:count = -1for count原创 2017-01-03 08:47:53 · 35081 阅读 · 0 评论 -
读取文件,打印制定的行
需求:用户可以随意输入需要显示的行数。比如输入13:21,则打印第13行到21行;输入:21,则打印前21行;输入21:,则打印从第21行到文件末尾所有内容;输入:,则打印整个文档。自己写的繁琐的代码:# -*- coding: utf-8 -*-def file_show(file_name,start_number,end_number): if start_number!=0 and原创 2017-01-03 09:07:10 · 549 阅读 · 0 评论 -
关于os的一系列问题:统计当前目录下每个文件类型的文件数
需求: 统计当前目录下不同类型的文件的个数 E:\Python Program 该文件夹下共有【.txt】的文件11个 该文件夹下共有【.mp3】的文件1个 该文件夹下共有【.py】的文件19个 该文件夹下共有【文件夹】的文件4个 该文件夹下共有【.bak】的文件1个 该文件夹下共有【.pkl】的文件1个# -*- coding: utf-8 -*-import osprint (o转载 2017-01-03 11:37:14 · 1251 阅读 · 0 评论 -
关于os的一系列问题:计算当前文件夹下所有文件的大小
需求:编写一个程序,用户输入文件名以及开始搜索的路径,搜索该文件是否存在。如果遇到文件夹,则进入文件夹继续搜索。 程序实现如下: 请输入待查找的初始目录:E:\Python Program 请输入需要查找的目标文件:donelli.jpg E:\Python Program\neural_artistic_style-master\images\donelli.jpgtips:如果遇到文件夹转载 2017-01-03 14:27:27 · 516 阅读 · 0 评论 -
关于os的一系列问题:寻找目录中的视频文件,并存储路径
需求:编写一个程序,用户输入开始搜索的路径,查找该路径下(包含子文件夹内)所有的视频格式文件(要求查找MP4、rmvb、avi的格式即可),并创建一个文件(videoList.txt)存放所有找到的文件的路径。# -*- coding: utf-8 -*-import osdef search_file(start_dir): os.chdir(start_dir) #os.chdir()原创 2017-01-03 15:07:46 · 912 阅读 · 0 评论 -
Pickle谈话内容(conversations)按角色(role)不同存入文本
将上课demo中的谈话内容(conversations)按角色(role)的不同,分别存入两个文本文件中man = [] #分别定义两个list 用来存储两个role的conversationsother = []try: data = open('sketch.txt') try: for each_line in data: (role,转载 2017-01-03 18:07:51 · 548 阅读 · 0 评论 -
使用with...as....语法打开一个文件
当使用open()打开一个不存在的文件时。最后通过finally关闭文件会报错# -*- coding: utf-8 -*-try: f=open("dataaaa.txt","w") for each_line in f: print (each_line)except OSError as reason: print("出错了:"+str(reason)原创 2017-01-03 22:58:22 · 2741 阅读 · 0 评论 -
尝试一个新的函数int_input(),当用户输入整数的时候返回正常,否则提示出错并要求重新输入。
# -*- coding: utf-8 -*-def int_input(prompt=""): while True: try: int(input(prompt)) break except ValueError: print ("出错,您输入的不是整数!")int_input("请输转载 2017-01-03 21:45:20 · 4174 阅读 · 0 评论 -
求一个数的最大公约数
# -*- coding: utf-8 -*-def showMaxFactor(number): count=number//2 while count>1: if number%count==0: print("%d的最大公约数为%d" %(number,count)) break count-=1原创 2017-01-03 22:40:26 · 775 阅读 · 0 评论 -
python按行读取文件 去掉换行符"\n" (查眼力,比较文档的不同)
file1=input("请输入需要打开的文件名:")+".txt"f1=open(file1,"r")for line1 in f1.readlines(): line1=line1.strip("\n") print (line1)扩展:比较用户输入的两个文件,如果不同,显示出所有不同处的行号与第一个不同字符的位置。def file_compare(file1,file2):原创 2017-01-01 10:31:04 · 14918 阅读 · 1 评论 -
建立通讯录的程序(用字典)
print (""" |---欢迎进入通讯录程序---| |---1:查询联系人资料---| |---2:插入新的联系人---| |---3:删除已有联系人---| |---4:退出通讯录程序---|""")dict = {}while True: number=int(input("请输入相关的指令代码:"原创 2017-01-01 10:32:07 · 1993 阅读 · 0 评论 -
猜数字小游戏
需求:写一个猜数字的小游戏# -*- coding: utf-8 -*-import randomsecret = random.randint(1,10)print("~~欢迎进入猜猜猜小游戏~~")guess = int(input("不妨猜一下我现在心里想的是哪个数字:"))while True: if guess == secret: print("哎呦,不错呦,原创 2017-01-03 20:32:57 · 677 阅读 · 0 评论 -
easygui系列之-打开文件显示内容
需求:提供一个文件夹浏览框,用户打开某个文件后,显示文件的内容。代码如下:# -*- coding: utf-8 -*-import easygui as gimport osfile_path=g.fileopenbox(default="*.txt")with open(file_path) as f: msg="文件【%s】的内容如下:" %os.path.basename(file转载 2017-01-04 20:14:50 · 4470 阅读 · 0 评论 -
定义一个游乐园门票的类
要求:按照以下要求定义一个游乐园门票的类,并尝试计算2个成人+1个小孩平日票价。 (1)平日票价100元 (2)周末票价为平日的120% (3)儿童半票。# -*- coding: utf-8 -*-class Ticket: def __init__(self,time,adult_number,child_number): self.time=time原创 2017-01-05 15:44:22 · 5873 阅读 · 0 评论 -
子类屏蔽父类的方法
需求: 假设已经有鸟类的定义,现在我们定义鸵鸟继承了鸟类的属性。但是鸟类有会飞的方法,鸵鸟是不会飞的。那么鸵鸟类中应该如何屏蔽鸟类中会飞的方法呢?# -*- coding: utf-8 -*-class Bird: def fly(self): print("I belive I can fly!")class Ostrich(Bird): def fly(self原创 2017-01-05 17:38:10 · 5397 阅读 · 0 评论 -
网络爬虫:BeautifulSoup
以获取网页的title为例基础模板# -*- coding: utf-8 -*-import urllib.requestimport urllib.errorfrom bs4 import BeautifulSoupdef get_title(url): req=urllib.request.Request(url) response=urllib.request.urlope原创 2017-01-21 17:18:25 · 846 阅读 · 0 评论