编程技巧

9.python3实用编程技巧进阶(四)

谁说胖子不能爱 提交于 2019-11-28 01:34:50
4.1.如何读写csv数据 爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup books = [] def book_name(url): res = requests.get(url) html = res.text soup = BeautifulSoup(html, 'html.parser') items = soup.find(class_="grid-16-8 clearfix").find(class_="indent").find_all('table') for i in items: book = [] title = i.find(class_="pl2").find('a') book.append('《' + title.text.replace(' ', '').replace('\n', '') + '》') star = i.find(class_="star clearfix").find(class_="rating_nums") book.append(star.text + '分') try: brief = i.find(class_="quote").find(class_="inq") except

人生苦短,我用python(目录)

余生颓废 提交于 2019-11-27 17:55:03
基础 简介 数据类型 文件操作 迭代器和生成器 函数 内置函数 常用模块 面向对象编程 异常处理 socket网络编程 线程 进程/协程/异步I/O 进阶 魔法函数 深入类和对象 元类编程 自定义序列类 多线程、多进程和线程池编程 python3实用编程技巧进阶(一) python3实用编程技巧进阶(二) python3实用编程技巧进阶(三) python3实用编程技巧进阶(四) python3实用编程技巧进阶(五) 数据库 Mysql(一) Mysql(二) Mysql(三) Memcached redis 前端 HTML CSS Javascript DOM Jquery Jquery实例 Vue基础 Django 基础 路由规则 Model 模板 cookie session CSRF 中间件 缓存和信号 form组件 ModelForm Ajax Django2.0文档 Django1.11.6文档 Django思维导图 Django项目部署 RESTful API 设计指南 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Django rest framework(4)----版本 Django rest framework(5)---

8.python3实用编程技巧进阶(三)

只愿长相守 提交于 2019-11-27 14:10:20
3.1.如何实现可迭代对象和迭代器对象 #3.1 如何实现可迭代对象和迭代器对象 import requests from collections.abc import Iterable,Iterator class WeatherIterator(Iterator): def __init__(self,cities): self.cities = cities #从列表中迭代一个city,index就+1 self.index = 0 def __next__(self): #如果所有的城市都迭代完了,就抛出异常 if self.index == len(self.cities): raise StopIteration #当前迭代的city city = self.cities[self.index] #迭代完当前city,index就+1 self.index += 1 return self.get_weather(city) def get_weather(self,city): url = 'http://wthrcdn.etouch.cn/weather_mini?city=' + city r = requests.get(url) #获取当天的天气信息 data = r.json()['data']['forecast'][0] #返回城市名字、最高和最低气温

7.python3实用编程技巧进阶(二)

柔情痞子 提交于 2019-11-27 11:13:42
2.1.如何拆分含有多种分隔符的字符串 #2.1.如何拆分含有多种分隔符的字符串 s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz' #第一种方法 def my__split(s, seps): res = [s] for sep in seps: t = [] list(map(lambda ss: t.extend(ss.split(sep)), res)) res = t return res s1 = my__split(s, ',;|\t') print(s1) #['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz'] #第二种方式:使用re.split (推荐) import re s2 = re.split('[,;|\t]+', s) print(s2) #['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz'] 2.2.如何调整字符串中文本的格式 #2.2.如何调整字符串中文本的格式 import re #调整时间显示的格式 s = "2019-08-15 23:23:12" s1 = re.sub(r'(\d{4})-(\d{2})-(\d{2})',r'\2/\3/\1'

python编程技巧——转载

梦想与她 提交于 2019-11-26 16:28:37
学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写google music的抓取脚本的,结果有了强大的gmbox,也就不用写了。 这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,再加上simplecd这个半爬虫半网站的项目,累积不少爬虫抓站的经验,在此总结一下,那么以后做东西也就不用重复劳动了。 1.最基本的抓站 Python import urllib2 content = urllib2.urlopen(' http://XXXX').read () 1 2 import urllib2 content = urllib2.urlopen(' http://XXXX').read () 2.使用代理服务器 这在某些情况下比较有用,比如IP被封了,或者比如IP访问的次数受到限制等等。 Python import urllib2 proxy_support = urllib2.ProxyHandler({'http':' http://XX.XX.XX.XX:XXXX '}) opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler) urllib2