dj版python_【Python爬虫】笔者想听DJ,结果写了一个DJ嗨嗨网的下载工具。

[Python] 纯文本查看 复制代码import requests,os,time,random,re

from lxml import etree

def ranheader():

user1 = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60'

user2 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'

user3 = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2'

#user4 = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'

user4 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'

#user6 = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5'

#user7 = 'Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5'

#user8 = 'Mozilla/5.0 (Linux; U; Android 2.3.7; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'

list1 = [user1, user2, user3, user4]

agent = random.choice(list1)

header = {'User-Agent': agent}

return header

def get_urllist(url): #访问网址

req=requests.get(url,headers=ranheader()).content.decode('utf-8')

#html=etree.HTML(req.content.decode('utf-8'))

return req

def mp3_list(req): #用正则找出音乐所在网页列表跟名字列表

html=etree.HTML(req)

addr_list=html.xpath('//li/div/div/a/@href')

mp3_name=html.xpath('//li/div/div/a/@title')

#print(addr_list)

#print(mp3_name)

get_mp3(addr_list,mp3_name)

def get_mp3(addlist,mp3_name): #得到音乐所在的具体地址,并开始写入

for x in range(0,len(addlist)):

addr=short_url+addlist[x]

html_1=get_urllist(addr)

#print (html_1)

mp3_addr=re.compile('m4a: "(.*?)"}]').findall(html_1)

print('正在保存:'+mp3_name[x])

filename=requests.get(mp3_addr[0],headers=ranheader())

time.sleep(0.5)

try:

with open(r"f:/mp3/"+mp3_name[x]+".mp3",'wb') as f:

f.write(filename.content)

time.sleep(1)

except:

print("文件保存失败!")

if __name__ == '__main__':

url1='http://www.djkk.com/dance/sort/chinese_'

short_url='http://www.djkk.com'

starpage=input('请输入要开始的页面:')

endpage=input("请输入要结束的页面:")

for i in range(int(starpage),int(endpage)+1):

url=url1+str(i)+".html"

mp3_list(get_urllist(url))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是一个使用Python的基本爬虫工具,它使用了Requests和BeautifulSoup库来获取和解析HTML页面。 ```python import requests from bs4 import BeautifulSoup # 爬取指定URL的页面 def get_page(url): response = requests.get(url) if response.status_code == 200: return response.text else: return None # 解析页面并提取需要的数据 def parse_page(html): soup = BeautifulSoup(html, 'html.parser') data = [] # 在这里编代码来解析HTML页面并提取数据 # 可以使用BeautifulSoup的各种方法来定位和提取元素 return data # 主程序 if __name__ == '__main__': # 在这里指定要爬取的URL url = 'https://example.com' html = get_page(url) if html: data = parse_page(html) # 在这里对提取的数据进行处理和保存 ``` 这是一个基本的爬虫工具模板,你可以根据需要进行修改和扩展。在实际使用中,还需要考虑一些爬虫相关的问题,例如反爬机制、频率限制、并发处理等等。 ### 回答2: Python是一种强大的编程语言,非常适合用来编爬虫工具。下面是一个简单的Python爬虫示例: 1. 导入所需的模块: ```python import urllib.request from bs4 import BeautifulSoup ``` 2. 定义一个函数,用于获取指定URL的页面内容: ```python def get_page_content(url): response = urllib.request.urlopen(url) page_content = response.read() return page_content ``` 3. 定义一个函数,用于从页面内容中提取所需的信息: ```python def extract_information(page_content): soup = BeautifulSoup(page_content, 'html.parser') # 在这里添加代码来提取信息 # 可以使用soup.find()和soup.findall()等方法来定位所需的元素 # 并提取其中的文本或属性等相关信息 # 最后将信息返回 return information ``` 4. 定义一个函数,用于保存提取到的信息: ```python def save_information(information): # 在这里将信息保存到文件中或者数据库中等 # 可以使用open()函数来打开文件,并使用文件对象的write()方法来入信息 # 或者使用数据库连接库来将信息插入数据库中 pass ``` 5. 定义一个主函数来组织上述函数的调用: ```python def main(): url = "http://example.com" # 替换为你要爬取的网页的URL page_content = get_page_content(url) information = extract_information(page_content) save_information(information) ``` 6. 调用主函数来执行爬虫程序: ```python if __name__ == '__main__': main() ``` 以上是一个非常简单的爬虫工具示例,你可以根据自己的需求和网址的结构进行相应的修改和扩展。你可以使用Python的其他第三方库,例如Scrapy等,来进一步简化爬虫的实现。 ### 回答3: 使用Python一个爬虫工具是非常简单和高效的。下面我将介绍一下如何使用Python一个基本的爬虫工具。 首先,我们需要导入一些必要的库,例如requests库和BeautifulSoup库。requests库用于发送HTTP请求,而BeautifulSoup库用于解析HTML页面。 接下来,我们需要定义一个函数来执行爬取操作。这个函数将接收一个URL参数,然后使用requests库发送GET请求获取页面的HTML内容。然后,可以使用BeautifulSoup库解析HTML内容并提取我们需要的信息。例如,我们可以使用BeautifulSoup库的find_all函数来找到页面中的所有链接,并将其打印出来。 最后,我们可以在主函数中调用爬取函数来实现爬取功能。我们可以输入一个URL来进行测试,并查看爬取结果。 下面是一个简单的实现示例: ```python import requests from bs4 import BeautifulSoup def spider(url): # 发送GET请求获取HTML内容 response = requests.get(url) html = response.text # 解析HTML内容并找到所有链接 soup = BeautifulSoup(html, 'html.parser') links = soup.find_all('a') # 打印所有链接 for link in links: print(link.get('href')) def main(): url = 'https://example.com' spider(url) if __name__ == '__main__': main() ``` 这个简单的爬虫工具会获取指定URL页面的HTML内容,并提取出所有的链接打印出来。你可以根据需求对这个爬虫工具进行进一步的定制和扩展,例如添加数据存储功能、设置请求头、处理异常等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值