Python实现爬取盘多多百度云资源链接的完整代码示例
本文分享了一段使用Python编写的爬取盘多多网站百度云资源链接的示例代码。作者回顾了早期学习Python时的开发过程,提供了完整的源代码及必要的库依赖说明。代码通过urllib和BeautifulSoup解析网页,提取并解码搜索资源对应的百度云地址,适合初学者参考Python网络爬虫的基础实现逻辑。
回顾过往编写的程序,曾开发过一个用于爬取盘多多平台上百度云资源的工具。这源于当时为了观看《变形金刚》而临时起意编写的脚本,耗时两天完成。这是初次接触Python时的作品,代码质量较为粗糙。尽管如今看来仍有提升空间,但这段经历记录了学习历程。由于变量定义细节已模糊,且当时尚未掌握文件写入及类初始化等知识,此处不再赘述背景,直接展示代码与运行结果。

from bs4 import BeautifulSoup
import urllib
import requests
import re
adr =[]
''''对搜素资源名字进行url编码'''
search_text =raw_input('请输入搜索资源名:')
search_text = search_text.decode('gbk')
search_text = search_text.encode('utf-8')
search_text = urllib.quote(search_text)
''''获取文件地址'''
home = urllib.urlopen('http://www.panduoduo.net/s/name/'+search_text)
'''获取百度云地址'''
def getbaidu(adr):
for i in adr:
url = urllib.urlopen('http://www.panduoduo.net'+i)
bs = BeautifulSoup(url)
bs1 = bs.select('.dbutton2')
href = re.compile('http\%(\%|\d|\w|\/\/|\/|\.)*')
b = href.search(str(bs1))
name = str(bs.select('.center')).decode('utf-8')
text1 = re.compile('\<h1\sclass\=\"center"\>[\d|\w|\D|\W]*\</h1\>')
text2 = text1.search(name)
rag1 = re.compile('\>[\d|\w|\D|\W]*\<')
if text2:
text3 = rag1.search(text2.group())
if text3:
print text3.group()
if b:
text = urllib.unquote(str(b.group())).decode('utf-8')
print text
'''初始化'''
def init(adr):
soup = BeautifulSoup(home)
soup = soup.select('.row')
pattern = re.compile('\/r\/\d+')
for i in soup:
i = str(i)
adress = pattern.search(i)
adress = adress.group()
adr.append(adress)
print 'running---------'
init(adr)
getbaidu(adr)
以上内容为本文的全部分享,旨在为读者的学习提供一定帮助。如果该示例对您有所启发,欢迎继续支持本站获取更多技术内容。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









