常用内建模块(itertools、urllib)
1.itertools(提供了非常有用的用于操作迭代对象的函数)
-
count()
会创建一个无限的迭代器,所以上述代码会打印出自然数序列 -
cycle()
会把传入的一个序列无限重复下去 -
repeat()
负责把一个元素无限重复下去,不过如果提供第二个参数就可以限定重复次数 -
chain()
可以把一组迭代对象串联起来,形成一个更大的迭代器 -
groupby()
把迭代器中相邻的重复元素挑出来放在一起
2.urllib(提供了一系列用于操作URL的功能)
-
request
模块可以非常方便地抓取URL内容 - 如果我们要想模拟浏览器发送GET请求,就需要使用
Request
对象,通过往Request
对象添加HTTP头,我们就可以把请求伪装成浏览器 -
Post
如果要以POST发送一个请求,只需要把参数data
以bytes形式传入。 -
Handler
如果还需要更复杂的控制,比如通过一个Proxy去访问网站,我们需要利用ProxyHandler
来处理