网络爬虫_爬(电影天堂)

例子一:

保存通过URL(https://m.dytt8.net/index2.htm)获取到的网页源代码和内容:

 

连接公网安装第三方库(requests):

C:\Users\jacky\Desktop>pip3 install requests -i http://mirrors.aliyun.com/pypi/simple –trusted-host=mirrors.aliyun.com

 

 

脚本内容:

#coding=utf-8

import requests

 

url = ‘https://m.dytt8.net/index2.htm’ #网站 (电影天堂)的URL

 

response = requests.get(url=url)

response.encoding = ‘gbk’ #有些网站使用gbk,有些网站使用utf-8

Key_1 = response.text

#print(Key_1)

 

Path_1 = “./1.txt”

 

f_name = open(Path_1,’w’,encoding=’utf-8′) #写入(覆盖)文件内容

Result_1 = f_name.write(Key_1)

 

f_name.close()

 

 

运行脚本的结果:(脚本所在目录下会生成文件1.txt,文件里会包含网页源代码和内容)

C:\Users\jacky\Desktop>python xx.py

 

C:\Users\jacky\Desktop>

 

 

 

 

 

 

 

 

 

 

 

 

 

######

 

例子二:

从例子一获取的数据中筛选出版块[最新电影下载]下的所有电影名称:

 

笺注:

版块[最新电影下载]下的电影名称格式,如下:

  • [<a href=”/html/gndy/dyzz/index.html”>最新电影下载</a>]<a href=’/html/gndy/dyzz/20220527/62647.html’>2022年剧情《以青春之名》HD国语中字</a><br/>

 

  • [<a href=”/html/gndy/dyzz/index.html”>最新电影下载</a>]<a href=’/html/gndy/dyzz/20220527/62645.html’>2022年爱情喜剧《替身演员》BD中英双字</a><br/>

 

  • [<a href=”/html/gndy/dyzz/index.html”>最新电影下载</a>]<a href=’/html/gndy/dyzz/20220527/62646.html’>2021年悬疑惊悚《黑匣子/黑盒线索》BD中字</a><br/>

 

 

脚本内容:

#coding=utf-8

from io import StringIO

String_1 = StringIO()

 

def func1(): #读取文件内容

Path_1 = “./1.txt”

f_name = open(Path_1,’r’,encoding=’utf-8′)

 

fields_1 = f_name.readlines() #输出结果为列表,包含换行符

f_name.close()

func2(fields_1)

 

def func2(fields_1): #从func1()获得的数据中进行筛选

 

K_1 = “最新电影下载</a>” #关键字

for Key_1 in fields_1:

if K_1 in Key_1:

Result_1 = f”{Key_1.split(‘html’)[4][2:][:-10]}\n” #以’html’为分隔符进行分割后,取第五项,然后去掉前面2个字符,再去掉最后10个字符,最后换行

String_1.write(Result_1)

Result_2 = String_1.getvalue()

Result_2 = Result_2.rstrip(‘\n’) #去除结果最后(右边)的一个换行符

print(“版块[最新电影下载]下的所有电影名称:”)

print(Result_2)

 

if __name__ == ‘__main__’:

 

func1()

 

 

脚本运行的结果:

C:\Users\jacky\Desktop>python xx.py

版块[最新电影下载]下的所有电影名称:

2021年剧情灾难《峰爆/无限救援》BD国语中字

2022年剧情《以青春之名》HD国语中字

2022年爱情喜剧《替身演员》BD中英双字

2021年悬疑惊悚《黑匣子/黑盒线索》BD中字

2022年动作《记忆/失忆刺客/记忆杀神》BD中英双字

2022年科幻动作喜剧《刺猬索尼克2》HD中英双字

2022年纪录片《网络炼狱:揭发N号房》BD韩语中字

2022年动画喜剧《奇奇与蒂蒂:救援突击队》BD中英双字

2022年科幻惊悚《双重躯体》BD中英双字

2021年剧情传记《幸存者》BD中英双字

2022年喜剧奇幻《瞬息全宇宙》BD中英双字

2022年喜剧《重返毕业季》BD中英双字

2022年动作《青面修罗》HD国语中英双字

2022年动作科幻《暗夜博士:莫比亚斯》BD中英双字

2022年动作冒险《北欧人》BD中英双字

 

C:\Users\jacky\Desktop>

 

 

 

 

 

 

 

 

 

 

 

 

######

 

例子三:

从例子一获取的数据中筛选出版块[最新电影下载]下的所有电影名称:

 

脚本内容:(使用正则表达式)

#coding=utf-8

import re #导入正则表达式的模块(内置模块,不用额外安装)

 

def func1(): #读取文件内容

Path_1 = “./1.txt”

f_name = open(Path_1,’r’,encoding=’utf-8′)

 

fields_1 = f_name.readlines() #输出结果为列表,包含换行符

f_name.close()

func2(fields_1)

 

def func2(fields_1): #从func1()获得的数据中进行筛选

 

print(“版块[最新电影下载]下的所有电影名称:”)

K_1 = “最新电影下载</a>” #关键字

 

for Key_1 in fields_1:

if K_1 in Key_1:

Result_1 = re.compile(u”.*?html’>(.*?)</a><br/>.*?”)

Result_2 = Result_1.findall(Key_1)

print(Result_2[0])

 

if __name__ == ‘__main__’:

 

func1()

 

 

脚本运行的结果:

C:\Users\jacky\Desktop>python xx.py

版块[最新电影下载]下的所有电影名称:

2021年剧情灾难《峰爆/无限救援》BD国语中字

2022年剧情《以青春之名》HD国语中字

2022年爱情喜剧《替身演员》BD中英双字

2021年悬疑惊悚《黑匣子/黑盒线索》BD中字

2022年动作《记忆/失忆刺客/记忆杀神》BD中英双字

2022年科幻动作喜剧《刺猬索尼克2》HD中英双字

2022年纪录片《网络炼狱:揭发N号房》BD韩语中字

2022年动画喜剧《奇奇与蒂蒂:救援突击队》BD中英双字

2022年科幻惊悚《双重躯体》BD中英双字

2021年剧情传记《幸存者》BD中英双字

2022年喜剧奇幻《瞬息全宇宙》BD中英双字

2022年喜剧《重返毕业季》BD中英双字

2022年动作《青面修罗》HD国语中英双字

2022年动作科幻《暗夜博士:莫比亚斯》BD中英双字

2022年动作冒险《北欧人》BD中英双字

 

C:\Users\jacky\Desktop>

 

 

 

发表评论

邮箱地址不会被公开。 必填项已用*标注