更多教程请移步至:洛凉博客

大家可以登录下www.80s.tw网站,观察页面菜单。

最开始我是想把菜单下所有页面的都爬一遍。想想还是有点复杂。

5f5e7f1d272d

image.png

但是最开始通过匹配,这些菜单的链接都拿到了。

单线程去写这些肯定和复杂,就放弃了。最后就攻下了电影菜单下的。

最开始也是用正则匹配迅雷(磁力)链接,但是匹配的有点问题。

最后直接用BS4解决了。

下面大家看代码吧。

import requests

from bs4 import BeautifulSoup

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}

def url_1(page_o,page_t):

url_s = []

for page in range(page_o,page_t):

url = 'http://www.80s.tw/movie/list/-----p'+str(page)

url_s.append(url)

return url_s

def html(url_s):

mv_urls = []

for url in url_s:

html = requests.get(url,headers=headers)

soup = BeautifulSoup(html.text,'lxml')

for mv in soup.find_all('h3',{'class','h3'}):

mv_url = mv('a')[0]['href']

mv_urls.append('http://www.80s.tw'+mv_url)

return mv_urls

def thlj(mv_urls):

num = 0

print('{0:^1}\t{1:^30}\t{2:^60}'.format('排序','电影名称', '迅雷链接或磁力链接'))

for thurl in mv_urls:

html = requests.get(thurl,headers=headers)

soup_t = BeautifulSoup(html.text,'lxml')

for xlurl in soup_t.find_all('span',{'class',"xunlei dlbutton1"}):

num+=1

xl_lj = xlurl('a')[0]['href']

xl_name = xlurl('a')[0]['thunderrestitle']

print('{0:^1}\t{1:^30}\t{2:^60}'.format(num,xl_name,xl_lj))

page_o = int(input('请输入需要爬取的开始页:'))

page_t = int(input('请输入需要爬取的结束页:'))

thlj(html(url_1(page_o,page_t)))

这些迅雷链接直接复制用迅雷就能下载了。还有一种磁力链接,我没用过,不知道怎么用。大家可以百度或谷歌下。

5f5e7f1d272d

image.png

这些代码都是挺简单的,我也是个菜鸟,只是给自己的成果做个记录。

也没有太多的技术分享,还望大家见谅!!!

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐