BeautifulSoup爬取电影天堂全站电影资源

Posted billie52707

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeautifulSoup爬取电影天堂全站电影资源相关的知识,希望对你有一定的参考价值。

#爬取电影天堂全站电影资源链接
#功能:
#1、获取电影天堂资源下载链接并输出
#2、所有链接保存为一个csv文件

import time
import requests
from bs4 import BeautifulSoup
import csv


def spider(url):
global page, No, fobj
try:
page += 1
print("第{}页".format(page))
# time.sleep(1)
#获取网页链接并读取
html = requests.get(url)
html.encoding="gbk"
html=html.text
#beautfulSoup装载文档
root=BeautifulSoup(html,"lxml")
#查找所需元素,获取tables列表
tables=root.find("div",attrs={"class":"co_content8"}).find("ul").find_all("table")
for table in tables:
name = table.find("a").text
url = "http://www.dytt8.net"+table.find("a")["href"]
# 文件写入操作
writer = csv.writer(fobj)
writer.writerow([name, url])
No += 1
print("No:", No, name, url)
#爬取下一页
# time.sleep(1)
urls=root.find("div",attrs={"class":"co_content8"}).find("div",attrs={"class":"x"}).find_all("a")
#寻找下一页的链接
for u in urls:
# print(url.text)
# try:
if u.text == "下一页":
url="https://www.dytt8.net/html/gndy/dyzz/"+u["href"]
print(url)
#如有下一页
spiderA(url)

except:#没有下一页
print("finished")
# spiderA(url)



begin_time = time.time()
url="https://www.dytt8.net/html/gndy/dyzz/index.html"
page=0
No=0
fobj=open("movies.csv", "wt", encoding="gbk", newline=‘‘)
spider(url)
fobj.close()
end_time = time.time()
time=end_time-begin_time
m,s=divmod(round(time),60)
print("用时:{}min{}s".format(m,s))

以上是关于BeautifulSoup爬取电影天堂全站电影资源的主要内容,如果未能解决你的问题,请参考以下文章

python3----练习题(爬取电影天堂资源)

Python抓取电影天堂, 零基础都可以学? 源码&视频教程, 大赞!

爬取电影天堂最新电影的名称和下载链接

Python爬取电影天堂指定电视剧或者电影

PY没有电影看?来教你用Python爬取电影天堂最新电影!

爬取电影天堂最新电影的名称和下载链接(增量爬取mysql存储版)