点击上方“Python进击者”,选择“星标”公众号

超级无敌干货每日18:00推送给你!!!

前言

大家好,我是Kuls。

最近买了个1T的三星固态硬盘,空间很大,总想存点什么进去。于是发现了阳光电影网站,里手机电影下载面电影巨多。

话不多说,先把里面的电影下载链接全部弄下来,然后一波下载。

开整

一看这种网站,应该不会有什么反爬措施,按照正常套路,先把跳转进去的链接全部弄出来。

bs = BeautifulSoup(htm手机电影下载l,"html.parser"

)

b = bs.findAll(class_="co_content8"

)

b = b[0].findAll(class_="ulink"

)

拿到链接之后,接下来就是继续访问手机电影下载这些链接,然后拿到电影的下载链接。

bs1 = BeautifulSoup(html1, "html.parser"

)

b1 = bs1.find("tbody").find_next("td").find手机电影下载_next("a"

)

download_url = b1.get("href"

)

获取电影的下载链接的核心代码差不多就是这些。

但是这里还是有很多的小细节,例如我们需要拿到电影的总页数,其次这么多的页面,一手机电影下载个线程不知道要跑到什么时候,所以我们首先先拿到总页码,然后用多线程来进行任务的分配。

总页数其实我们用re正则来获取是最省时的。

def get_total_page(url):

r = requests.g手机电影下载et(url=url,headers=headers)

    r.encoding = gb2312    pattern = re.compile(r(?<=页/)\d+

)

t = pattern.findall(r.手机电影下载text)

    return int(t[0

])

上面就是拿到总页数的代码。拿到页码后,我们就可以在url后面拼接,得到下一页的列表页面。

拿到了总页数,其实我们的任务就快完成了,当然我们想要把爬取的内容存取到c手机电影下载sv,也可以写个函数来存取

def wirte_into_csv(name,down_url):    f = open(最新电影.csva+, encoding=utf-8

)

csv_writer = csv.手机电影下载writer(f)

    csv_writer.writerow([name,down_url])

    f.close()

最后,我们开启4个进程来下载链接。

 total_page = get_total_page("手机电影下载https://www.ygdy8.com/html/gndy/oumei/list_7_1.html"

)

    total_page = int(total_page/25+1

)

end = int(tota手机电影下载l_page/4

)

    try

:

        _thread.start_new_thread(run, (1

, end))

        _thread.start_new_thread(run, (end+1, end*2

))

_th手机电影下载read.start_new_thread(run, (end*2 + 1, end * 3

))

        _thread.start_new_thread(run, (end*3 + 1, end * 4

))

    except

:手机电影下载

        print("Error: 无法启动线程"

)

    while(1

):

        pass

最后,我们开始线程跑起来。

上面我只是给大家简单的梳理一下思路,如果你有没看懂的地方,可以私信我。

我建议大家去看完整源码,里面每一行手机电影下载我都对其进行了详细的解说。

获取方式:

后台回复【电影】

你好啊

我是kuls

欢迎加我微信交流学习阅读更多精彩文章,可以关注我!

关注公众号回复“pdf”

无套路领取原创Django、flask全套教程

⬇️