爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂

目录:

  • 1. 【案例】re屠戮电影天堂
    • 1.目的:
      • 1. 定位到2021新片精品
        • 1. 出现错误???
        • 2. 网页乱码???
      • 2.从2021新片精品中提取到子页面的链接地址
      • 3.请求子页面的链接地址,拿到我们想要的下载地址...

1. 【案例】re屠戮电影天堂

1.目的:

  1. 定位到2021新片精品
  2. 从2021新片精品中提取到子页面的链接地址
  3. 请求子页面的链接地址,拿到我们想要的下载地址…

1. 定位到2021新片精品

我想得到这里的电影的下载地址。

爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第1张图片
爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第2张图片

1. 出现错误???

爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第3张图片
爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第4张图片
在这里插入图片描述

2. 网页乱码???

python抓包回来,默认进行utf8编码了,但是 如果网页的编码不是utf8的话,就会出现这样的乱码

爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第5张图片

网站的编码通常会进行声明,

在这里插入图片描述
然后我们进行换一下编码就好了
在这里插入图片描述

我们的唯一标识就是 2021新片精品
爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第6张图片
爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第7张图片
爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第8张图片

爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第9张图片
爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第10张图片

2.从2021新片精品中提取到子页面的链接地址

爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第11张图片

爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第12张图片

3.请求子页面的链接地址,拿到我们想要的下载地址…

# -*- coding: utf-8 -*-
# @Time: 2021/5/5 14:05
# @Author: adam
# @File: demo2.py

import csv
import re
import requests
header = {
     
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
}
domain='https://www.dytt8.net/index.htm'

res = requests.get(url=domain,headers=header,verify = False)
res.encoding='gb2312'  # 指定字符集
page_content = res.text
# print(page_content)

# 拿到了ul中的url
obj1 = re.compile(r"手机浏览,推荐下载本站app,绿色小巧,简单实用!详情请点击!.*?(?P
    .*?)",re.S) obj2 = re.compile(r"最新电影下载.*?href='(?P.*?)'",re.S) child_href_list = [] result1 = obj1.finditer(page_content) for it in result1: # 这个只有一个,因为能够符合上述匹配的只有一个东西。 ul = it.group('ul') # 提取子页面连接: https://www.dytt8.net/html/gndy/dyzz/20210430/61371.html需要加上前面的域名 result2 = obj2.finditer(ul) for it in result2: # 拼接子页面和url地址 child_herf = 'https://www.dytt8.net' + it.group('herf') child_href_list.append(child_herf) # 把子页面的连接保存在一个 列表中。 # 提取 子页面内容。 for herf in child_href_list: child_resp = requests.get(url=herf,verify=False) child_resp.encoding='gb2312' child_page_content = child_resp.text print(child_page_content) break # 测试用的

爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第13张图片
进入页面之后,就是找下载地址了。

爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第14张图片

nice,就只有这个一个地方,直接就找到url了。
爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂_第15张图片
最终代码:

# -*- coding: utf-8 -*-
# @Time: 2021/5/5 14:05
# @Author: adam
# @File: demo2.py

import csv
import re
import requests
header = {
     
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
}
domain='https://www.dytt8.net/index.htm'

res = requests.get(url=domain,headers=header,verify = False)
res.encoding='gb2312'  # 指定字符集
page_content = res.text
# print(page_content)

# 拿到了ul中的url
obj1 = re.compile(r"手机浏览,推荐下载本站app,绿色小巧,简单实用!详情请点击!.*?(?P

你可能感兴趣的:(爬虫学习,python)