输入 lofter 博客网址,下载博客图片

不是所有的lofter博客都好使,每个博客代码不同。主发照片的博客通常好使。


效果图:

代码:

# python2
#coding:utf-8
# Filename:lofter.py
# 输入 LOFTER 博客网址,下载博客图片
# 不是所有的 lofter 博客都好使,每个博客代码不同。主发照片的博客通常好使。


import requests
import re
from time import sleep

user_agent = ''
headers = {'User-Agent': user_agent}

def page_url(url, page):
    url_0 = url
    page = int(page) + 1
    page_url_list = []
    num = 1
    while (num 


知识点

赋值运算符

= ,c = a + b 将 a + b 的运算结果赋值为 c

+= ,加法赋值运算符,c += a 等效于 c = c + a

-= ,减法赋值运算符, c -= a 等效于 c = c – a

sleep() 方法

import time
time.sleep(t)

# 或者
from time import sleep
sleep(t)

代表程序将在这里暂停 t 秒,t 可以是浮点数。实际的暂停时间可能会小于 t 秒。

int() 函数

用于将一个字符串或数字转换为整型

>>> int('12')
12

append() 方法

用于在列表末尾添加新的对象。

语法:

list.append(obj)

obj 添加到列表末尾的对象。
该方法无返回值,但是会修改原来的列表。

示例:

aList = [123, 'xyz', 'zara', 'abc'];
aList.append( 2009 );
print aList;

# 输出:
[123, 'xyz', 'zara', 'abc', 2009]

while循环

只要条件满足,就不断循环,条件不满足时退出循环。while语句有一个可选的else从句。

while 判断条件:
    执行语句……

示例:

count = 0
while (count 

while / else 循环:
while 判断条件为 false 时 运行 else

正则 re.search

扫描整个字符串并返回第一个成功的匹配。匹配成功返回一个 Match 对象,否则返回None。

语法:

re.search(pattern, string, flags=0)

pattern:匹配的正则表达式
string:要匹配的字符串。
flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

示例:

import re

str_list = ['111','222','333','444']
for str_i in str_list:
    str_0 = re.search('333',str_i)
    if str_0:
        print(str_0)
    else:
        print('no find')

# 输出:
no find
no find

no find

文件路径

文件路径就是文件在电脑中的位置。表示路径的方式有两种,相对路径和绝对路径。

相对路径:相对路径就是相对于当前文件的路径。

绝对路径:也叫完整路径,指从根目录开始,完整的描述文件位置的路径。例如,/etc/uucp/Devices 指根目录下的 etc 目录下的 uucp 目录下的 Devices 文件。在最前面输入正斜杠 / 来表示根目录,用正斜杠 / 来分隔路径中的各级目录。(目录就是文件夹)

示例:

绝对路径

download_file_name = str(num) + '.jpg'
f = open(download_file_name, 'wb')

表示在当前目录创建图片文件,即代码的 .py 文件所在的文件夹,图片依次命名为 1.jpg2.jpg

如果改成绝对路径

download_address = '/Users/v1coder/'+str(num) + '.jpg'
f = open(download_file_name, 'wb')

则表示在根目录下的 Users 目录下的 v1coder 目录下,创建图片文件,图片依次命名为 1.jpg2.jpg

读取键盘输入

raw_inputinput

都是读取键盘的输入,产生一个返回值。

区别
raw_input() 将所有输入作为字符串看待,返回字符串类型。
input() 会假设你的输入是一个有效的Python表达式。输入数字类型( int, float ),返回数字类型;输入表达式,返回计算结果;如果想输入字符串,必须加引号。

raw_input() 和 input() 括号里通常包含一个字符串,说明要输入的内容,例如:

a_input = raw_input('请输入一个字符串:')

屏幕会先输出 请输入一个字符串:,我们在后面输入,输入的内容就会赋值给 a_input

示例:

input_1 = input('input_1:')
input_2 = input('input_2:')
input_3 = input('input_3:')

input_4 = raw_input('input_4:')

print('-----------')
print(input_1)
print(input_2)
print(input_3)
print(input_4)
print('-----------')


# 输出:
# 冒号后面都是我输入的内容
input_1:123
input_2:123+456
input_3:'a str'
input_4:222+333
-----------
123
579
a str
222+333
-----------

函数的参数

定义函数时如果有参数,那么在调用此函数时就要提供参数

def test(param_1,param_2):
    print(param_1)
    print(param_2)
    print('a test')

test(1,2)

# 输出:
1
2
a test

如果只传入一个参数,或者没传入参数,就会报错。


提供两个博客地址测试代码:

http://lurenjiajiepai.lofter.com/ 街拍

http://inpetphoto.lofter.com/ 萌宠


教程目录:
0.《简介及准备》
1.《爬单个图片》
2.《下载一组网页上的图片》
3.《输出一个网页上的文字》
4.《获取电影天堂最新电影名称》
5.《糗事百科爬虫》
6.《Lofter 爬虫》

2019-01-02

文章来源于互联网:Python 爬虫零基础教程(6):Lofter 爬虫

发表评论