最近在进行学习上的进阶,系统性的学习一些知识,所以没怎么更新文章。
简单更新一个小爬虫。
电影天堂的磁力连接的爬取。

电影天堂磁力连接

import requests
import re
url = 'https://www.dytt8.net/index.htm'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36"
}
resp = requests.get(url, headers=headers)
resp.encoding = "gb2312"
respinfo = resp.text
rerule = re.compile(r"最新经典影片推荐</p></div>.*?<ul>(?P<hrefs>.*?)</ul>", re.S)
hrefrule = re.compile(r"<a href='(?P<href>.*?)'>(?P<name>.*?)</a><br/>", re.S)
magnetrule = re.compile(r'<br /><br /><br /><a target="_blank" href="(?P<magnet>.*?)"><strong>', re.S)
result = rerule.finditer(respinfo)
hrefdict = {}
for i in result:
newresult = i.group("hrefs").strip()
hrefsresult = hrefrule.finditer(newresult)
for a in hrefsresult:
newurl = "https://www.dytt8.net"+a.group("href")
newresp = requests.get(newurl, headers=headers)
newresp.encoding = "gb2312"
newrespinfo = newresp.text
magentresult = magnetrule.finditer(newrespinfo)
for b in magentresult:
print(b.group("magnet"))

其实本来是想用字典把数据装起来的,但是后来懒得写了,就直接输出的磁力链接。
简单的介绍一下思路,我们通过re正则来获取所有的数据。
首先是获取首页的源代码,这里遇到了第一个问题,那就是电影天堂的首页的连接是https://www.dytt8.net/index.htm而后面的内容也的连接https://www.dytt8.net/html/gndy/dyzz/20210421/61346.html则是去掉了index.htm,所以这里我们在获取内容页的时候,应该重新组合一下连接,而不能直接拿上面的url进行使用。

然后再就是编码格式,电影天堂的是gb2312而python默认的则是utf8,所以我们要通过encoding来设置编码格式,否则汉字将编程乱码。
首先是获取所有的url,然后用for循环挨个读取出来进行组合,之后再获取磁力链接,这里之所以获取了两次所有连接,是因为第一次获取的是整个的连接,从<ul></ul>然后再通过正则读取里面的连接进行组合,如果我们想要换模块的话修改这个即可rerule = re.compile(r"最新经典影片推荐</p></div>.*?<ul>(?P<hrefs>.*?)</ul>", re.S)
最后我们可以通过写入文件来将获取到的内容进行储存。

最后修改:2021 年 04 月 24 日 06 : 13 PM
如果觉得我的文章对你有用,请随意赞赏