python 爬取百度云资源

 1 import urllib.request
 2 import re
 3 import random
 4
 5 def get_source(key):
 6
 7     print(‘请稍等,爬取中....‘)
 8     headers = [{‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.3 WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.8.1000 Chrome/30.0.1599.101 Safari/537.36‘},{‘User-Agent‘:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0"},{‘User-Agent‘: ‘Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; WOW64; Trident/7.0)‘}]
 9
10     header = random.choice(headers) # 随机选取一个header
11
12     keyword = key.encode(‘utf-8‘)
13     keyword = urllib.request.quote(keyword)   # 对关键词进行编码
14
15     # 这里是关键,称随机搜索一个资源名,然后对其结果网址进行分析
16     url = "http://www.wangpansou.cn/s.php?wp=0&ty=gn&op=gn&q="+keyword+"&q="+keyword
17     req = urllib.request.Request(url, headers=header)
18
19     html = urllib.request.urlopen(req)
20
21     # 编码类型
22     head_type = html.headers[‘Content-Type‘].split(‘=‘)[-1]
23
24
25     status = html.getcode()   # 获取状态码,只有访问成功了才继续。
26     if status == 200:
27         html = html.read()
28         html = html.decode(head_type) # 根据网站编码时行解码
29
30         # 正则匹配 
31         pattern = re.compile(‘<a href="(.+)"><div class="cse-search-result_paging_num " tabindex="\d{1,3}">\d{1,3}</div></a>‘)
32         content = pattern.findall(html)
33
34         url_list = []
35         url_head = ‘http://www.wangpansou.cn/‘
36         for i in content:
37             i = url_head +i # 因为正匹配出来的只有一部分,所以把前面的一部分加上,开成完整的链接
38             if not i in url_list:   # 去掉重复的,网页确实有两分,所以去重.
39                 url_list.append(i)   # 得到所有 有搜索结果的页面网址列表
40
41     count = 1  # 计数用
42     for each_url in url_list:
43         header = random.choice(headers)    # 针对每个链接都随机选择一个‘头‘,防止被服务器封掉
44         request1 = urllib.request.Request(each_url, headers=header)
45         html2 = urllib.request.urlopen(request1)
46
47         status = html2.getcode()   # 获取状态码
48         if status == 200:
49             html2 = html2.read()
50             html2 = html2.decode(head_type)
51             pattern1 = re.compile(‘<a class=".+" href="(.+)" rel.+‘)
52             content1 = pattern1.findall(html2)
53
54
55             pattern2 = re.compile(‘<div id=".+" class="cse-search-result_content_item_mid">\s+(.+)‘)
56             content2 = pattern2.findall(html2)
57
58
59         for i in range(0,len(content2)):
60             print(str(count) + ‘:‘ + content2[i] + ‘\n‘ + content1[i])
61             print()
62             count += 1
63
64     print(‘共搜索到%d个资源,已经全部爬取完毕!‘ % count)
65
66 if __name__ == ‘__main__‘:
67     get_source(input(‘请输入要搜索的资源名:‘))

"""
说明:
a.本搜索实际是通过通过网盘搜这个网站进行的二次搜索,如果找资源也可以直接到网盘搜进行一页一页的搜索

本脚本唯一的优点是一次性将所有结果全部爬下来,不用一页一页的翻找。

b.代码相当丑,但这也是对学习过程的记录,先实现功能,再考虑代码。
"""

时间: 2024-10-19 22:27:01

python 爬取百度云资源的相关文章

python爬取百度翻译返回:{&#39;error&#39;: 997, &#39;from&#39;: &#39;zh&#39;, &#39;to&#39;: &#39;en&#39;, &#39;query 问题

解决办法: 修改url为手机版的地址:http://fanyi.baidu.com/basetrans User-Agent也用手机版的 测试代码: # -*- coding: utf-8 -*- """ ------------------------------------------------- File Name: requestsGet Description : 爬取在线翻译数据s Author : 神秘藏宝室 date: 2018-04-17 --------

python爬取百度搜索图片

在之前通过爬取贴吧图片有了一点经验,先根据之前经验再次爬取百度搜索界面图片 废话不说,先上代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/7/22 10:44 # @Author : wqj # @Contact : [email protected] # @Site : # @File : test.py # @Software: PyCharm Community Edition import requests

python 爬取百度url

1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Date : 2017-08-29 18:38:23 4 # @Author : EnderZhou ([email protected]) 5 # @Link : http://www.cnblogs.com/enderzhou/ 6 # @Version : $Id$ 7 8 import requests 9 import sys 10 from Queue import Queu

Python爬取百度贴吧内容

参考资料:https://cuiqingcai.com/993.html  即 静觅» Python爬虫实战二之爬取百度贴吧帖子 我最近在忙学校的一个小项目的时候涉及到NLP的内容.但是在考虑如何训练的时候却才懂什么叫巧妇难为无米之炊的滋味.中文语料库实在少的可怜,偶尔有一两个带标签的语料库,拿出一看,标注惨不忍睹,都让我怀疑是不是机器标注的.正应了那句话,人工智能,有多少智能就有多少人工. 有什么办法呢,硬着头皮,走一步是一步吧,总比停滞不前要好.项目涉及到帖子,那么我相信不管是谁,首先想到的

python爬取百度搜索结果ur汇总

写了两篇之后,我觉得关于爬虫,重点还是分析过程 分析些什么呢: 1)首先明确自己要爬取的目标 比如这次我们需要爬取的是使用百度搜索之后所有出来的url结果 2)分析手动进行的获取目标的过程,以便以程序实现 比如百度,我们先进行输入关键词搜索,然后百度反馈给我们搜索结果页,我们再一个个进行点击查询 3)思考程序如何实现,并克服实现中的具体困难 那么我们就先按上面的步骤来,我们首先认识到所搜引擎,提供一个搜索框,让用户进行输入,然后点击执行 我们可以先模拟进行搜索,发现点击搜索之后的完整url中有一

【学习笔记】python爬取百度真实url

今天跑个脚本需要一堆测试的url,,,挨个找复制粘贴肯定不是程序员的风格,so,还是写个脚本吧. 环境:python2.7 编辑器:sublime text 3 一.分析一下 首先非常感谢百度大佬的url分类非常整齐,都在一个类下 即c-showurl,所以只要根据css爬取链接就可以,利用beautifulsoup即可实现,代码如下:         soup = BeautifulSoup(content,'html.parser')         urls = soup.find_all

Python爬取百度实时热点排行榜

今天爬取的百度的实时热点排行榜 按照惯例,先下载网站的内容到本地: 1 def downhtml(): 2 url = 'http://top.baidu.com/buzz?b=1&fr=20811' 3 headers = {'User-Agent':'Mozilla/5.0'} 4 r = requests.get('url',headers=headers) 5 with open('C:/Code/info_baidu.html','wb') as f: 6 f.write(r.cont

python 爬取百度翻译进行中英互译

感谢RoyFans 他的博客地址http://www.cnblogs.com/royfans/p/7417914.html import requests def py(): url = 'http://fanyi.baidu.com/v2transapi/' while True: print('感谢百度翻译,禁止用于商业用途') print('----------------------------') content=input("中译英请输入1,英译中请输入2,退出请输入Q\n"

Python爬取百度贴吧数据

本渣除了工作外,在生活上还是有些爱好,有些东西,一旦染上,就无法自拔,无法上岸,从此走上一条不归路.花鸟鱼虫便是我坚持了数十年的爱好. 本渣还是需要上班,才能支持我的业余爱好.上班时间还是尽量访问外网,少做一些和工作不太相关的事.有段时间,像是中毒一样,经常想关注百度贴吧中牡丹鹦鹉,及玄凤鹦鹉的交易图. 于是就写出一下代码: import requests from lxml import etree url = r"http://tieba.baidu.com/p/5197963751&quo