zoukankan      html  css  js  c++  java
  • 使用re爬取电影天堂

    import requests
    import re
    import csv

    domain='https://dytt89.com'
    list_dapian=[]
    # resp=requests.get(domain,verify=False) 讲课是老师使用了verify=False,应该是python版本不同,我的没有效果反而更好
    resp=requests.get(domain)
    resp.encoding='gb2312'
    # print(resp.text)

    f=open('href.csv',mode='w')

    # 截取2021必看区,根据网页更新修改。有可能是2022、2023或者更久的

    find_t=re.compile(r'2022必看热片.*?<ul>(?P<li>.*?)</ul>',re.S)
    find_href=re.compile(r"<a href='(?P<href>.*?)'",re.S)
    find_dp=re.compile(r'<h1>.*?《(?P<movie_name>.*?)》.*?</h1></div>'
    r'.*?<a href="(?P<movie_url>.*?)"',re.S)#《》这个符号是中文的,否则匹配不到

    result=find_t.finditer(resp.text)

    for it in result:
    ul=it.group("li")

    # 获取2021必看链接
    req_href=find_href.finditer(ul)
    for itt in req_href:
    dapian=(domain+itt.group('href'))
    list_dapian.append(dapian)



    # 通过链接找到每个下载地址
    for dp_url in list_dapian:
    req_dp_t = requests.get(dp_url)
    req_dp_t.encoding = 'gb2312'
    # print(req_dp_t.text)
    req_dp_down = find_dp.finditer(req_dp_t.text)
    for d in req_dp_down:
    print(d.group("movie_name"))
    print(d.group("movie_url"))







  • 相关阅读:
    Flask websocket
    Vuex
    Web框架的原理
    node.js
    nginx负载均衡实验
    nginx与location语法详解
    git安装与初始化
    Flask 中的 Render Redirect HttpResponse
    jQuery快速入门
    前端知识总结--css用div画环形圆
  • 原文地址:https://www.cnblogs.com/xiaoyaoren/p/15796628.html
Copyright © 2011-2022 走看看