Python 爬虫学习笔记 – 第二周/单元4/Beautiful Soup库入门

English Version: https://today2tmr.com/en/2017/07/15/python-spider-study-note-week-twounit-fourintroduction-to-beautiful-soup

Beautiful Soup is library of the third party to analyze HTML and XML.

Beautiful Soup库的安装

  • 美丽汤
  • http://www.crummy.com/software/BeautifulSoup
  • pip install beautifulsoup4
  • 打开网页 http://python123.io/ws/demo.html
  • 源代码:
    • 通过浏览器

       
    • 通过Requests库

       

Continue reading “Python 爬虫学习笔记 – 第二周/单元4/Beautiful Soup库入门”

Python 爬虫学习笔记 – 第一周/单元3/应用实例

English Version: https://today2tmr.com/en/2017/07/15/python-spider-study-note-week-oneunit-threeapplications/

实例一:京东商品页面爬取

Continue reading “Python 爬虫学习笔记 – 第一周/单元3/应用实例”

Python爬虫学习笔记 – 第一周/单元二/盗亦有道: Robots.txt

English Version:  https://today2tmr.com/en/2017/07/15/python-spider-study-note-week-oneunit-twocode-of-conduct-robots-txt

网络爬虫的尺寸:

  • 爬取网页:小规模,数据量小,速度不敏感,用Requests库。>90%
  • 爬取网站:中规模,数据规模较大,速度敏感,用Scrapy库
  • 爬取全网:大规模,搜索引擎,爬取速度关键,定制开发

由于:

  • 受限于开发者的水平和目的,网络爬虫会给服务器带来巨大开销。
  • 数据归有权。
  • 隐私泄露。

Continue reading “Python爬虫学习笔记 – 第一周/单元二/盗亦有道: Robots.txt”

Python 爬虫学习笔记 – 第一周/单元1/Requests库入门

English Version: https://today2tmr.com/en/2017/07/15/python-spider-study-note-week-oneunit-oneintroduction-to-requests-library/

www.icourse163.org/course/BIT-1001870001

http://www.python-requests.org

安装: pip3 install Requests

简单应用:

  • 状态码200意味着获取成功页面内容。
  • 七个主要方法:
    • requests.request() 创建一个请求,其余方法的基本方法。
    • requests.get() 对应HTTP中的GET。
    • requests.head() 对应HTTP中的HEAD。
    • requests.post() 对应HTTP中的POST。
    • requests.put() 对应HTTP中的PUT。
    • requests.patch() 修改部分内容,对应HTTP中的PATCH。
    • requests.delete() 对应HTTP中的DELETE。

Continue reading “Python 爬虫学习笔记 – 第一周/单元1/Requests库入门”

python3.Tkinter学习之更多Widgets

译自www.tkdocs.com

这篇译文由于是急于学习顺便写的,将选举出几个可能在后面的项目中会用到的widgets,不全部涉及。

Listbox

Widget综述
一个listbox显示一个单行文本项目的列表,允许浏览和选择其中的单个或多个。
创建:
l = Listbox(parent,height=10)

管理listbox中的元素

每个listbox有一个listvariable的配置选项,允许关联一个含有列表的变量到listbox。列表中的每个元素是一个字符串,表示了listbox中的一项。所以对listbox中每一项的操作可以通过调整关联变量。简单来说,要找出listbox的第三行是什么,只用看listvariable的第三个元素。

选择项目

  • 单选和多选可以通过selectmode这一配置选项来设定。
  • 单选值为browse;多选值为extended
  • 要找出当前选定了哪些项,可以调用curselection方法。
  • 可绑定虚拟事件 <ListboxSelect>

Continue reading “python3.Tkinter学习之更多Widgets”

文本中特殊符号的处理

English Version: https://today2tmr.com/en/2017/06/28/text-edition-for-special-sign/

有时我们需要替换或着用以替换制表符,换行符等特殊字符,普通文本编辑器却做不到,下面是解决这个问题的几行代码。

保存下面代码为 replace.py,python3 replace.py 运行即可。

 

python3.Tkinter学习之网格图形管理器

译自Modern Tkinter for Busy Python Developers

本章主要是译者的归纳整理,并未全部按原文翻译。
一般地,我们通过使用grid方法来设置widget在容器中的布局。
例如: label.grid()

行和列 column and row

通过设置columnrow来定位widget。
label.grid(column=1,row=1)
默认情况下,column=0,row=0。

合并单元

通过设置columnspanrowspan可以合并多个单元。
label.grid(column=1,row=1,columnspan=2,rowspan=2)
默认情况下,columnspan=1,rowspan=1。

Continue reading “python3.Tkinter学习之网格图形管理器”

python3.Tkinter学习之基本Widgets

译自Modern Tkinter for Busy Python Developers

本章介绍一些几乎可以在任何用户接口中找到的Widgets:frames, labels, buttons, checkbuttons, radiobuttons, entries and comboboxes。

0X01 Frames

Widget综述

一个frame就是一个简单的长方形widget。Frames用来作为其它widgets的容器,这些widgets受控于图形管理器例如gird。

创建:frame = ttk.Frame(parent)

Frames有一些配置选项可以改变其显示方式:

  • 尺寸 ttk.Frame(parent,height=350,width=350)
    • 350 是 350 像素
    • 350c 是 350 厘米
    • 350i 是 350 英寸
    • 350p 是 350 printer’s points(1/72英寸)
  • Padding frame["padding"]=(5,10)
    • (a) 上下左右padding均为a
    • (a,b) 水平方向padding为a,垂直为b
    • (a,b,c,d) 左,上,右,下的padding分别为a,b,c,d
  • 边界 frame["borederwidth"]=2
    • 边界的显示方式配置选项为relief。有flat,raised,sunken,solid,ridge,groove几个可选值。

Continue reading “python3.Tkinter学习之基本Widgets”

python3.Tkinter学习之Tk概念

译自Modern Tkinter for Busy Python Developers

与pyQt,wxPython相比tkinter较为简单,我用来制作小型GUI程序,省去了很多较为深入的知识,只保留了常用部分。

Widgets

Widget 类

Widget是对象,表示Button, frame等类的实例。

窗口的分层结构

另一件需要知道的事是创造的widget实例的父级。Tk中,所有的widgets都是窗口分层结构中的一部分,单个root作为分层结构的顶部。这个结构可以有任意深度,你可以在一个root窗口中建一个frame,frame包含另一个frame,frame又包含一个button。甚至一个新的顶级窗口是同样结构中的一部分,它的内容组成整体窗口分层结构中的子树。

在常见例子中,我有单个frame作为root窗口的孩子,这个frame控制着其他所有孩子。root窗口是frame是容器,及父级。

Alt text

Continue reading “python3.Tkinter学习之Tk概念”