python函数

python函数

从python基础到爬虫的书有哪些值得推荐

采集交流优采云 发表了文章 • 0 个评论 • 465 次浏览 • 2020-07-04 08:00 • 来自相关话题

  于我个人而言,我很喜欢2113Python,当然我也5261有很多的理由推荐你去学python.我只4102说两点.一是简单,二是写python工资高1653.我感觉这俩理由就够了,对不对.买本书,装上pycharm,把书里面的事例习题都敲一遍.再用flask,web.py等框架搭个小网站.. 完美...(小伙伴们有问到该学python2.7还是3.X,那我的答案是:目前大多数实际开发,都是用2.7的,因为实际项目开发有很多依赖的包,都只支持到2.7,你用3.X干不了活.那你能怎样办.所以不需要苦恼.等3.X普及,你写的2.7代码,都可以无痛移植,妥妥的不用害怕.)
  第一个
  个人觉得《Python学习手册:第3版》是学习语言基础比较好的书了.
  《Python学习手册(第3版)》讲述了:Python可移植、功能强悍、易于使用,是编撰独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或则刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。
  《Python学习手册(第3版)》是作者依据过去10年用于教学而广为人知的培训课程的材料编撰而成的。除了有许多详尽说明和每章小结之外,每章还包括一个头脑风暴:这是《Python学习手册(第3版)》独特的一部分,配合以实用的练习题和复习题,让读者练习新学的方法并测试自己的理解程度。
  《Python学习手册(第3版)》包括:
  类型和操作——深入讨论Python主要的外置对象类型:数字、列表和字典等。
  语句和句型——在Python中输入代码来构建并处理对象,以及Python通常的句型模型。
  函数——Python基本的面向过程工具,用于组织代码和重用。
  模块——封装句子、函数以及其他工具,从而可以组织成较大的组件。
  类和OOP——Python可选的面向对象编程工具,可用于组织程序代码因而实现订制和重用。
  异常和工具——异常处理模型和句子,并介绍编撰更大程序的开发工具。
  讨论Python 3.0。
  《Python学习手册(第3版)》让你对Python语言有深入而完整的了解,从而帮助你理解今后碰到的任何Python应用程序实例。如果你打算探求Google和YouTube为何选中了Python,《Python学习手册(第3版)》就是你入门的最佳手册。
  第二个
  《Python基础教程(第2版·修订版)》也是精典的Python入门教程,层次鲜明,结构严谨,内容详实,特别是最后几章,作者将上面述说的内容应用到10个引人入胜的项目中,并以模板的方式介绍了项目的开发过程,手把手院长Python开发,让读者从项目中展现Python的真正魅力。这本书既适宜初学者筑牢基础,又能帮助Python程序员提高技能,即使是Python方面的技术专家,也能从书里找到耳目一新的内容。
  第三个
  《“笨办法”学Python(第3版)》是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的初学者使用。这本书结构十分简单,其中覆盖了输入/输出、变量和函数三个主题,以及一些比较中级的话题,如条件判定、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编撰代码,运行并检测结果,然后再做附加练习。这本书以习题的方法引导读者一步一步学习编程,从简单的复印仍然讲授到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
  【大牛评价】hardway(笨办法)比较适宜起步编程,作为Python的入门挺不错。
  第四个
  在这里给你们推荐最后一本《集体智慧编程》
  本书以机器学习与估算统计为主题背景,专门述说怎么挖掘和剖析Web上的数据和资源,如何剖析用户体验、市场营销、个人品位等众多信息,并得出有用的推论python爬虫数据书籍,通过复杂的算法来从Web网站获取、收集并剖析用户的数据和反馈信息,以便创造新的用户价值和商业价值。
  全书内容详实,包括协作过滤技术(实现关联产品推荐功能)、集群数据剖析(在大规模数据集中开掘相像的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行剖析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
  本书是Web开发者、架构师、应用工程师等的极佳选择。
  “太棒了!对于初学这种算法的开发者而言,我想不出有比这本书更好的选择了,而对于象我这样学过Al的道友而言,我也想不出还有什么更好的办法才能使自己重温这种知识的细节。”
  ——Dan Russell,资深技术总监,Google
  “Toby的这本书十分成功地将机器学习算法这一复杂的议程分拆成了一个个既实用又易懂的事例,我们可以直接借助那些反例来剖析当前网路上的社会化交互作用。假如我早三年读过这本书,就会省去许多宝贵的时间python爬虫数据书籍,也不至于走那么多的弯路了。”
  ——Tim Wolters,CTO,Collective Intellect
  第五个
  其实我认为很多人也在看《Python核心编程:第2版》.在我自己看来,我并不喜欢这本书.
  这本书的原书的勘误表就有够长的,翻译时却几乎没有参考勘误表,把原书的所有低级错误都搬进去了。这本书的原书质量也并不好,书的结构组织并不合理,不适宜初学者阅读。有人说,这本书适宜进阶阅读,我认为也不尽然。这本书好多地方都写的欲言又止的,看得人很郁闷。 查看全部

  于我个人而言,我很喜欢2113Python,当然我也5261有很多的理由推荐你去学python.我只4102说两点.一是简单,二是写python工资高1653.我感觉这俩理由就够了,对不对.买本书,装上pycharm,把书里面的事例习题都敲一遍.再用flask,web.py等框架搭个小网站.. 完美...(小伙伴们有问到该学python2.7还是3.X,那我的答案是:目前大多数实际开发,都是用2.7的,因为实际项目开发有很多依赖的包,都只支持到2.7,你用3.X干不了活.那你能怎样办.所以不需要苦恼.等3.X普及,你写的2.7代码,都可以无痛移植,妥妥的不用害怕.)
  第一个
  个人觉得《Python学习手册:第3版》是学习语言基础比较好的书了.
  《Python学习手册(第3版)》讲述了:Python可移植、功能强悍、易于使用,是编撰独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或则刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。
  《Python学习手册(第3版)》是作者依据过去10年用于教学而广为人知的培训课程的材料编撰而成的。除了有许多详尽说明和每章小结之外,每章还包括一个头脑风暴:这是《Python学习手册(第3版)》独特的一部分,配合以实用的练习题和复习题,让读者练习新学的方法并测试自己的理解程度。
  《Python学习手册(第3版)》包括:
  类型和操作——深入讨论Python主要的外置对象类型:数字、列表和字典等。
  语句和句型——在Python中输入代码来构建并处理对象,以及Python通常的句型模型。
  函数——Python基本的面向过程工具,用于组织代码和重用。
  模块——封装句子、函数以及其他工具,从而可以组织成较大的组件。
  类和OOP——Python可选的面向对象编程工具,可用于组织程序代码因而实现订制和重用。
  异常和工具——异常处理模型和句子,并介绍编撰更大程序的开发工具。
  讨论Python 3.0。
  《Python学习手册(第3版)》让你对Python语言有深入而完整的了解,从而帮助你理解今后碰到的任何Python应用程序实例。如果你打算探求Google和YouTube为何选中了Python,《Python学习手册(第3版)》就是你入门的最佳手册。
  第二个
  《Python基础教程(第2版·修订版)》也是精典的Python入门教程,层次鲜明,结构严谨,内容详实,特别是最后几章,作者将上面述说的内容应用到10个引人入胜的项目中,并以模板的方式介绍了项目的开发过程,手把手院长Python开发,让读者从项目中展现Python的真正魅力。这本书既适宜初学者筑牢基础,又能帮助Python程序员提高技能,即使是Python方面的技术专家,也能从书里找到耳目一新的内容。
  第三个
  《“笨办法”学Python(第3版)》是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的初学者使用。这本书结构十分简单,其中覆盖了输入/输出、变量和函数三个主题,以及一些比较中级的话题,如条件判定、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编撰代码,运行并检测结果,然后再做附加练习。这本书以习题的方法引导读者一步一步学习编程,从简单的复印仍然讲授到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
  【大牛评价】hardway(笨办法)比较适宜起步编程,作为Python的入门挺不错。
  第四个
  在这里给你们推荐最后一本《集体智慧编程》
  本书以机器学习与估算统计为主题背景,专门述说怎么挖掘和剖析Web上的数据和资源,如何剖析用户体验、市场营销、个人品位等众多信息,并得出有用的推论python爬虫数据书籍,通过复杂的算法来从Web网站获取、收集并剖析用户的数据和反馈信息,以便创造新的用户价值和商业价值。
  全书内容详实,包括协作过滤技术(实现关联产品推荐功能)、集群数据剖析(在大规模数据集中开掘相像的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行剖析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
  本书是Web开发者、架构师、应用工程师等的极佳选择。
  “太棒了!对于初学这种算法的开发者而言,我想不出有比这本书更好的选择了,而对于象我这样学过Al的道友而言,我也想不出还有什么更好的办法才能使自己重温这种知识的细节。”
  ——Dan Russell,资深技术总监,Google
  “Toby的这本书十分成功地将机器学习算法这一复杂的议程分拆成了一个个既实用又易懂的事例,我们可以直接借助那些反例来剖析当前网路上的社会化交互作用。假如我早三年读过这本书,就会省去许多宝贵的时间python爬虫数据书籍,也不至于走那么多的弯路了。”
  ——Tim Wolters,CTO,Collective Intellect
  第五个
  其实我认为很多人也在看《Python核心编程:第2版》.在我自己看来,我并不喜欢这本书.
  这本书的原书的勘误表就有够长的,翻译时却几乎没有参考勘误表,把原书的所有低级错误都搬进去了。这本书的原书质量也并不好,书的结构组织并不合理,不适宜初学者阅读。有人说,这本书适宜进阶阅读,我认为也不尽然。这本书好多地方都写的欲言又止的,看得人很郁闷。

Python 网络爬虫实战:爬取并下载《电影天堂》3千多部动作片影片

采集交流优采云 发表了文章 • 0 个评论 • 1481 次浏览 • 2020-07-03 08:00 • 来自相关话题

  不知不觉,玩爬虫玩了一个多月了。
  我更加认为,爬虫似乎并不是哪些非常深奥的技术,它的价值不在于你使用了哪些非常牛的框架,用了多么了不起的技术,它不需要。它只是以一种自动化收集数据的小工具,能够获取到想要的数据,就是它最大的价值。
  我的爬虫课老师也常跟我们指出,学习爬虫最重要的,不是学习上面的技术,因为后端技术在不断的发展,爬虫的技术便会随着改变。学习爬虫最重要的是,学习它的原理,万变不距其宗。
  爬虫说白了是为了解决须要,方便生活的。如果还能在日常生活中,想到并应用爬虫去解决实际的问题,那么爬虫的真正意义也久发挥下来了。
  这是些闲谈啦,有感而发而已。
  最近有点片荒,不知道该看哪些影片,而且有些影片在网上找很久也找不到资源。后来我了解到这个网站,发现近来好多不错的影片里面都有资源(这里我就先不管它的来源正不正规啦,#掩面)。
  所以此次我们要爬取的网站是:《电影天堂》,屯一些影片,等无趣的时侯拿出来瞧瞧,消遣闲暇也是不错。
  
  这次的网站,从爬虫的技术角度上来讲,难度不大,而且可以说是十分简单了。但是,它实用啊!你想嘛,早上下班前跑一下爬虫,晚上回去之后早已有几十部最新大片在你硬碟里等着你啦,累了三天躺床上瞧瞧影片,这种觉得是不是太爽啊。
  而且正由于这个爬虫比较简单,所以我会写的稍为细一点,争取使 python 小白们也能尽可能读懂,并且还能在这个爬虫的基础上更改,得到爬取这个网站其他蓝筹股或则其他影片网站的爬虫。
  在编撰爬虫程序之前,我先捋一捋我们的思路。
  爬虫的原理,是通过给定的一个URL(就是类似于 这样的,俗称网址的东东) 请求,去访问一个网页,获取哪个网页上的源代码(不知道源代码的,随便打开一个网页,右键,查看网页源代码,出来的一大堆象乱码一样的东西就是网页源代码,我们须要的数据就藏在这种源代码上面)并返回来。然后,通过一些手段(比如说json库,BeautifulSoup库,正则表达式等)从网页源代码中筛选出我们想要的数据(当然,前提是我们须要剖析网页结构,知道自己想要哪些数据,以及那些数据储存在网页的哪里网络爬虫下载,存放的位置有哪些特点等)。最后,将我们获取到的数据根据一定的格式,存储到本地或则数据库中,这样就完成了爬虫的全部工作。
  当然,也有一些 「骚操作」,如果你嫌爬虫效率低,可以开多线程(就是相当于几十只爬虫同时给你爬,效率直接翻了几十倍);如果害怕爬取频度过低被网站封 IP,可以挂 IP 代理(相当于打几枪换个地方,对方网站就不知道你到底是爬虫还是正常访问的用户了);如果对方网站有反爬机制,那么也有一些骚操作可以绕开反爬机制(有点黑客攻守的觉得,有木有!)。这些都是后话了。
  1. 分析网页的 URL 的组成结构
  首先,我们须要剖析网页的 URL 的组成结构,主要关注两方面,一是怎样切换选择的影片类型,二是网页怎么翻页的。
  电影类型
  网址
  剧情片
  喜剧片
  动作片
  爱情片
  科幻片
  动画片
  悬疑片
  惊悚片
  恐怖片
  记录片
  ......
  ......
  灾难片
  武侠片
  古装片
  发现规律了吧,以后假如想爬其他类型的影片,只要改变 url 中的数字即可,甚至你可以写一个循环,把所有蓝筹股中的影片全部爬取出来。
  页码
  URL
  第一页
  第二页
  第三页
  第四页
  除了第一页是 「index」外,其余页脚均是 「index_页码」的方式。
  所以我们基本把握了网站的 url 的构成方式,这样我们就可以通过自己构造 url 来访问任意类型影片的任意一页了,是不是太酷。
  2. 分析网站的页面结构
  其次,我们剖析一下网站的页面结构,看一看我们须要的信息都藏在网页的哪些地方(在这之前我们先要明晰一下我们须要什么数据),由于我们这个目的是下载影片,所以对我有用的数据只有两个,电影名称和下载影片的磁力链接。
  按 F12 召唤出开发者工具(这个工具可以帮助你快速定位网页中的元素在 html 源代码中位置)。
  
  然后,我们可以发觉,电影列表中,每一部影片的信息储存在一个 <table> 标签里,而影片的名子,就藏在上面的一个 <a> 标签中。电影下载的磁力链接在影片的详情页面,而影片详情页面的网址也在这个<a> 标签中( href 属性的值)。
  
  而下载的磁力链接,存放在 <tbody> 标签下的 <a> 标签中,是不是太好找啊!
  最后我们来缕一缕思路,一会儿我们打算这样操作:通过上面的网址的构造规则,访问到网站的某一页,然后获取到这个页面里的所有 table 标签(这里储存着影片的数据),然后从每一个 table 标签中找到存有影片名称的 a 标签(这里可以领到影片名称以及详情页面的网址),然后通过这儿获取的网址访问影片的详情页面,在详情页面选购出 <tbody> 标签下的 <a> 标签(这里储存着影片的下载链接),这样我们就找到了我们所须要的全部数据了,是不是很简单啊。
  爬虫的程序,我通常习惯把它分成五个部份, 一是主函数,作为程序的入口,二是爬虫调度器,三是网路恳求函数,四是网页解析函数,五是数据储存函数。
  
# 我们用到的库
import requests
import bs4
import re
import pandas as pd
  1.网络恳求函数 :get_data (url)
  负责访问指定的 url 网页,并将网页的内容返回,此部份功能比较简单固定,一般不需要做更改(除非你要挂代理,或者自定义恳求头等,可以做一些相应的调整)。
  
def get_data(url):
'''
功能:访问 url 的网页,获取网页内容并返回
参数:
url :目标网页的 url
返回:目标网页的 html 内容
'''
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}

try:
r = requests.get(url, headers=headers)
r.raise_for_status()
return r.text

except requests.HTTPError as e:
print(e)
print("HTTPError")
except requests.RequestException as e:
print(e)
except:
print("Unknown Error !")
  2.网页解析函数:parse_data(html)
  这个函数是整个爬虫程序的核心所在,整体思路在上一部分早已讲过了。我这儿使用的库是BeautifulSoup。
  这部份的写法多种多样,有很多发挥的空间,也没有哪些太多固定的模式,因为这部份的写法是要随着不同网站的页面结构来做调整的,比如说有的网站提供了数据的 api 接口,那么返回的数据就是 json 格式,我们只须要调用 json 库就可以完成数据解析,而大部分的网站只能通过从网页源代码中一层层筛选(筛选手段也多种多样,什么正则表达式,beautifulsoup等等)。
  这里须要依照数据的方式来选择不同的筛选策略,所以,知道原理就可以了,习惯哪些方式就用哪些方式,反正最后能领到数据就好了。
  
def parse_data(html):
'''
功能:提取 html 页面信息中的关键信息,并整合一个数组并返回
参数:html 根据 url 获取到的网页内容
返回:存储有 html 中提取出的关键信息的数组
'''
bsobj = bs4.BeautifulSoup(html,'html.parser')
info = []

# 获取电影列表
tbList = bsobj.find_all('table', attrs = {'class': 'tbspan'})

# 对电影列表中的每一部电影单独处理
for item in tbList:
movie = []
link = item.b.find_all('a')[1]
# 获取电影的名称
name = link["title"]
# 获取详情页面的 url
url = 'https://www.dy2018.com' + link["href"]
# 将数据存放到电影信息列表里
movie.append(name)
movie.append(url)

try:
# 访问电影的详情页面,查找电影下载的磁力链接
temp = bs4.BeautifulSoup(get_data(url),'html.parser')
tbody = temp.find_all('tbody')

# 下载链接有多个(也可能没有),这里将所有链接都放进来
for i in tbody:
download = i.a.text
movie.append(download)

#print(movie)
# 将此电影的信息加入到电影列表中
info.append(movie)

except Exception as e:
print(e)

return info
  3. 数据储存函数:save_data(data)
  这个函数目的是将数据储存到本地文件或数据库中,具体的写法要按照实际须要的储存方式来定,我这儿是将数据储存在本地的 csv 文件中。
  当然这个函数也并不只能做这些事儿,比如你可以在这里写一些简单的数据处理的操作,比如说:数据清洗,数据去重等操作。
  
def save_data(data):
'''
功能:将 data 中的信息输出到文件中/或数据库中。
参数:data 将要保存的数据
'''
filename = 'Data/电影天堂/动作片.csv'

dataframe = pd.DataFrame(data)
dataframe.to_csv(filename, mode='a', index=False, sep=',', header=False)
  4. 爬虫调度器:main()
  这个函数负责按照 url 生成规则,构造新的 url 请求,然后依次调用网路恳求函数,网页解析函数,数据储存函数,爬取并保存该页数据。
  所谓爬虫调度器,就是控制爬虫哪些时侯开始爬,多少只爬虫一起爬,爬那个网页,爬多久休息一次,等等这种事儿。
  
def main():
# 循环爬取多页数据
for page in range(1, 114):
print('正在爬取:第' + str(page) + '页......')
# 根据之前分析的 URL 的组成结构,构造新的 url
if page == 1:
index = 'index'
else:
index = 'index_' + str(page)
url = 'https://www.dy2018.com/2/'+ index +'.html'
# 依次调用网络请求函数,网页解析函数,数据存储函数,爬取并保存该页数据
html = get_data(url)
movies = parse_data(html)
save_data(movies)

print('第' + str(page) + '页完成!')
  5. 主函数:程序入口
  主函数作为程序的入口,只负责启动爬虫调度器。
  这里我通常习惯在 main() 函数前后输出一条句子,以此判定爬虫程序是否正常启动和结束。
  
if __name__ == '__main__':
print('爬虫启动成功!')
main()
print('爬虫执行完毕!')
  运行了两个小时左右吧,终于爬完了 113 页,共 3346 部动作片影片的数据(本来不止这种的,但是有一些影片没有提供下载链接,我在 excel 中排序后直接自动剔除了)。
  
  
  然后想看哪些影片的话,直接复制这种影片下载的磁力链接,到迅雷上面下载就好啦。
  1. 在网站提供的下载链接中,我试了一下,发现magnet 开头的这类链接置于迅雷中可以直接下载,而 ftp 开头的链接在迅雷中总显示资源获取失败(我不知道是不是我打开的形式不对,反正就是下载不来),于是我对程序做了一些小的调整,使其只获取magnet 这类的链接。
  修改的方法也很简单,只须要调整 网页解析函数 即可(爬虫的五个部份是相对独立的,修改时只需调整相应的模块即可,其余部份无需更改)。
  
def parse_data(html):
'''
功能:提取 html 页面信息中的关键信息,并整合一个数组并返回
参数:html 根据 url 获取到的网页内容
返回:存储有 html 中提取出的关键信息的数组
'''
bsobj = bs4.BeautifulSoup(html,'html.parser')
info = []

# 获取表头信息
tbList = bsobj.find_all('table', attrs = {'class': 'tbspan'})

for item in tbList:
movie = []
link = item.b.find_all('a')[1]
name = link["title"]
url = 'https://www.dy2018.com' + link["href"]

try:
# 查找电影下载的磁力链接
temp = bs4.BeautifulSoup(get_data(url),'html.parser')
tbody = temp.find_all('tbody')

for i in tbody:
download = i.a.text
if 'magnet:?xt=urn:btih' in download:
movie.append(name)
movie.append(url)
movie.append(download)
#print(movie)
info.append(movie)
break
except Exception as e:
print(e)

return info
  注意代码 26 行处,我加了一个 if 语句的判定,如果下载链接中包含magnet:?xt=urn:btih 字符串,则视为有效链接,下载出来,否则跳过。
  2. 我仍然在想能不能有个办法使迅雷一键批量下载我们爬到的影片。使用 python 操纵第三方的软件,这或许很难的。不之后来找到了一种方式,也算是解决了这个问题。
  就是我们发觉迅雷软件启动后,会手动检查我们的剪切板,只要我们复制了下载链接,它便会手动弹出下载的提示框。借助这个思路,我们可以使用代码,将下载的链接复制步入剪切板,等下载框手动出现后,手动确认开始下载(这是我目前想到的最好的办法了,不知道诸位大鳄有没有更好的思路,欢迎指导交流)。
  
import pyperclip
import os
import pandas as pd
imageData = pd.read_csv("Data/电影天堂/动作片2.csv",names=['name','link','download'],encoding = 'gbk')
# 获取电影的下载链接,并用换行符分隔
a_link = imageData['download']
links = '\n'.join(a_link)
# 复制到剪切板
pyperclip.copy(links);
print('已粘贴');

# 打开迅雷
thunder_path = r'D:\Program Files (x86)\Thunder Network\Thunder9\Program\Thunder.exe'
os.startfile(thunder_path)
  亲测可以实现,但是。。。不建议尝试(你能想像迅雷打开的一瞬间创建几百个下载任务的场景吗?反正我的笔记本是缓了好久好久才反应过来)。大家还是老老实实的,手动复制链接下载吧(csv文件可以用 excel 打开网络爬虫下载,竖着选中一列,然后复制,也能达到相同的疗效),这种骚操作很蠢了还是不要试了。
  啰啰嗦嗦的写了很多,也不知道关键的问题讲清楚了没有。有那里没讲清楚,或者那里讲的不合适的话,欢迎恐吓。
  其实吧,写文章,写博客,写教程,都是一个知识重新熔炼内化的过程,在写这篇博客的时侯,我也仍然在反复考量我学习爬虫的过程,以及我爬虫代码一步步的变化,从一开始的所有代码全部揉在主函数中,到后来把一些变动较少的功能提取下来,写成单独的函数,再到后来产生基本稳定的五大部份。
  以至于在我后来学习使用 scrapy 框架时侯,惊人的发觉 scrapy 框架的结构跟我的爬虫结构有着异曲同工之妙,我的这个相当于是一个简易版的爬虫框架了,纯靠自己摸索达到这个疗效,我觉得还是很有成就感的。 查看全部

  不知不觉,玩爬虫玩了一个多月了。
  我更加认为,爬虫似乎并不是哪些非常深奥的技术,它的价值不在于你使用了哪些非常牛的框架,用了多么了不起的技术,它不需要。它只是以一种自动化收集数据的小工具,能够获取到想要的数据,就是它最大的价值。
  我的爬虫课老师也常跟我们指出,学习爬虫最重要的,不是学习上面的技术,因为后端技术在不断的发展,爬虫的技术便会随着改变。学习爬虫最重要的是,学习它的原理,万变不距其宗。
  爬虫说白了是为了解决须要,方便生活的。如果还能在日常生活中,想到并应用爬虫去解决实际的问题,那么爬虫的真正意义也久发挥下来了。
  这是些闲谈啦,有感而发而已。
  最近有点片荒,不知道该看哪些影片,而且有些影片在网上找很久也找不到资源。后来我了解到这个网站,发现近来好多不错的影片里面都有资源(这里我就先不管它的来源正不正规啦,#掩面)。
  所以此次我们要爬取的网站是:《电影天堂》,屯一些影片,等无趣的时侯拿出来瞧瞧,消遣闲暇也是不错。
  
  这次的网站,从爬虫的技术角度上来讲,难度不大,而且可以说是十分简单了。但是,它实用啊!你想嘛,早上下班前跑一下爬虫,晚上回去之后早已有几十部最新大片在你硬碟里等着你啦,累了三天躺床上瞧瞧影片,这种觉得是不是太爽啊。
  而且正由于这个爬虫比较简单,所以我会写的稍为细一点,争取使 python 小白们也能尽可能读懂,并且还能在这个爬虫的基础上更改,得到爬取这个网站其他蓝筹股或则其他影片网站的爬虫。
  在编撰爬虫程序之前,我先捋一捋我们的思路。
  爬虫的原理,是通过给定的一个URL(就是类似于 这样的,俗称网址的东东) 请求,去访问一个网页,获取哪个网页上的源代码(不知道源代码的,随便打开一个网页,右键,查看网页源代码,出来的一大堆象乱码一样的东西就是网页源代码,我们须要的数据就藏在这种源代码上面)并返回来。然后,通过一些手段(比如说json库,BeautifulSoup库,正则表达式等)从网页源代码中筛选出我们想要的数据(当然,前提是我们须要剖析网页结构,知道自己想要哪些数据,以及那些数据储存在网页的哪里网络爬虫下载,存放的位置有哪些特点等)。最后,将我们获取到的数据根据一定的格式,存储到本地或则数据库中,这样就完成了爬虫的全部工作。
  当然,也有一些 「骚操作」,如果你嫌爬虫效率低,可以开多线程(就是相当于几十只爬虫同时给你爬,效率直接翻了几十倍);如果害怕爬取频度过低被网站封 IP,可以挂 IP 代理(相当于打几枪换个地方,对方网站就不知道你到底是爬虫还是正常访问的用户了);如果对方网站有反爬机制,那么也有一些骚操作可以绕开反爬机制(有点黑客攻守的觉得,有木有!)。这些都是后话了。
  1. 分析网页的 URL 的组成结构
  首先,我们须要剖析网页的 URL 的组成结构,主要关注两方面,一是怎样切换选择的影片类型,二是网页怎么翻页的。
  电影类型
  网址
  剧情片
  喜剧片
  动作片
  爱情片
  科幻片
  动画片
  悬疑片
  惊悚片
  恐怖片
  记录片
  ......
  ......
  灾难片
  武侠片
  古装片
  发现规律了吧,以后假如想爬其他类型的影片,只要改变 url 中的数字即可,甚至你可以写一个循环,把所有蓝筹股中的影片全部爬取出来。
  页码
  URL
  第一页
  第二页
  第三页
  第四页
  除了第一页是 「index」外,其余页脚均是 「index_页码」的方式。
  所以我们基本把握了网站的 url 的构成方式,这样我们就可以通过自己构造 url 来访问任意类型影片的任意一页了,是不是太酷。
  2. 分析网站的页面结构
  其次,我们剖析一下网站的页面结构,看一看我们须要的信息都藏在网页的哪些地方(在这之前我们先要明晰一下我们须要什么数据),由于我们这个目的是下载影片,所以对我有用的数据只有两个,电影名称和下载影片的磁力链接。
  按 F12 召唤出开发者工具(这个工具可以帮助你快速定位网页中的元素在 html 源代码中位置)。
  
  然后,我们可以发觉,电影列表中,每一部影片的信息储存在一个 <table> 标签里,而影片的名子,就藏在上面的一个 <a> 标签中。电影下载的磁力链接在影片的详情页面,而影片详情页面的网址也在这个<a> 标签中( href 属性的值)。
  
  而下载的磁力链接,存放在 <tbody> 标签下的 <a> 标签中,是不是太好找啊!
  最后我们来缕一缕思路,一会儿我们打算这样操作:通过上面的网址的构造规则,访问到网站的某一页,然后获取到这个页面里的所有 table 标签(这里储存着影片的数据),然后从每一个 table 标签中找到存有影片名称的 a 标签(这里可以领到影片名称以及详情页面的网址),然后通过这儿获取的网址访问影片的详情页面,在详情页面选购出 <tbody> 标签下的 <a> 标签(这里储存着影片的下载链接),这样我们就找到了我们所须要的全部数据了,是不是很简单啊。
  爬虫的程序,我通常习惯把它分成五个部份, 一是主函数,作为程序的入口,二是爬虫调度器,三是网路恳求函数,四是网页解析函数,五是数据储存函数。
  
# 我们用到的库
import requests
import bs4
import re
import pandas as pd
  1.网络恳求函数 :get_data (url)
  负责访问指定的 url 网页,并将网页的内容返回,此部份功能比较简单固定,一般不需要做更改(除非你要挂代理,或者自定义恳求头等,可以做一些相应的调整)。
  
def get_data(url):
'''
功能:访问 url 的网页,获取网页内容并返回
参数:
url :目标网页的 url
返回:目标网页的 html 内容
'''
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}

try:
r = requests.get(url, headers=headers)
r.raise_for_status()
return r.text

except requests.HTTPError as e:
print(e)
print("HTTPError")
except requests.RequestException as e:
print(e)
except:
print("Unknown Error !")
  2.网页解析函数:parse_data(html)
  这个函数是整个爬虫程序的核心所在,整体思路在上一部分早已讲过了。我这儿使用的库是BeautifulSoup。
  这部份的写法多种多样,有很多发挥的空间,也没有哪些太多固定的模式,因为这部份的写法是要随着不同网站的页面结构来做调整的,比如说有的网站提供了数据的 api 接口,那么返回的数据就是 json 格式,我们只须要调用 json 库就可以完成数据解析,而大部分的网站只能通过从网页源代码中一层层筛选(筛选手段也多种多样,什么正则表达式,beautifulsoup等等)。
  这里须要依照数据的方式来选择不同的筛选策略,所以,知道原理就可以了,习惯哪些方式就用哪些方式,反正最后能领到数据就好了。
  
def parse_data(html):
'''
功能:提取 html 页面信息中的关键信息,并整合一个数组并返回
参数:html 根据 url 获取到的网页内容
返回:存储有 html 中提取出的关键信息的数组
'''
bsobj = bs4.BeautifulSoup(html,'html.parser')
info = []

# 获取电影列表
tbList = bsobj.find_all('table', attrs = {'class': 'tbspan'})

# 对电影列表中的每一部电影单独处理
for item in tbList:
movie = []
link = item.b.find_all('a')[1]
# 获取电影的名称
name = link["title"]
# 获取详情页面的 url
url = 'https://www.dy2018.com' + link["href"]
# 将数据存放到电影信息列表里
movie.append(name)
movie.append(url)

try:
# 访问电影的详情页面,查找电影下载的磁力链接
temp = bs4.BeautifulSoup(get_data(url),'html.parser')
tbody = temp.find_all('tbody')

# 下载链接有多个(也可能没有),这里将所有链接都放进来
for i in tbody:
download = i.a.text
movie.append(download)

#print(movie)
# 将此电影的信息加入到电影列表中
info.append(movie)

except Exception as e:
print(e)

return info
  3. 数据储存函数:save_data(data)
  这个函数目的是将数据储存到本地文件或数据库中,具体的写法要按照实际须要的储存方式来定,我这儿是将数据储存在本地的 csv 文件中。
  当然这个函数也并不只能做这些事儿,比如你可以在这里写一些简单的数据处理的操作,比如说:数据清洗,数据去重等操作。
  
def save_data(data):
'''
功能:将 data 中的信息输出到文件中/或数据库中。
参数:data 将要保存的数据
'''
filename = 'Data/电影天堂/动作片.csv'

dataframe = pd.DataFrame(data)
dataframe.to_csv(filename, mode='a', index=False, sep=',', header=False)
  4. 爬虫调度器:main()
  这个函数负责按照 url 生成规则,构造新的 url 请求,然后依次调用网路恳求函数,网页解析函数,数据储存函数,爬取并保存该页数据。
  所谓爬虫调度器,就是控制爬虫哪些时侯开始爬,多少只爬虫一起爬,爬那个网页,爬多久休息一次,等等这种事儿。
  
def main():
# 循环爬取多页数据
for page in range(1, 114):
print('正在爬取:第' + str(page) + '页......')
# 根据之前分析的 URL 的组成结构,构造新的 url
if page == 1:
index = 'index'
else:
index = 'index_' + str(page)
url = 'https://www.dy2018.com/2/'+ index +'.html'
# 依次调用网络请求函数,网页解析函数,数据存储函数,爬取并保存该页数据
html = get_data(url)
movies = parse_data(html)
save_data(movies)

print('第' + str(page) + '页完成!')
  5. 主函数:程序入口
  主函数作为程序的入口,只负责启动爬虫调度器。
  这里我通常习惯在 main() 函数前后输出一条句子,以此判定爬虫程序是否正常启动和结束。
  
if __name__ == '__main__':
print('爬虫启动成功!')
main()
print('爬虫执行完毕!')
  运行了两个小时左右吧,终于爬完了 113 页,共 3346 部动作片影片的数据(本来不止这种的,但是有一些影片没有提供下载链接,我在 excel 中排序后直接自动剔除了)。
  
  
  然后想看哪些影片的话,直接复制这种影片下载的磁力链接,到迅雷上面下载就好啦。
  1. 在网站提供的下载链接中,我试了一下,发现magnet 开头的这类链接置于迅雷中可以直接下载,而 ftp 开头的链接在迅雷中总显示资源获取失败(我不知道是不是我打开的形式不对,反正就是下载不来),于是我对程序做了一些小的调整,使其只获取magnet 这类的链接。
  修改的方法也很简单,只须要调整 网页解析函数 即可(爬虫的五个部份是相对独立的,修改时只需调整相应的模块即可,其余部份无需更改)。
  
def parse_data(html):
'''
功能:提取 html 页面信息中的关键信息,并整合一个数组并返回
参数:html 根据 url 获取到的网页内容
返回:存储有 html 中提取出的关键信息的数组
'''
bsobj = bs4.BeautifulSoup(html,'html.parser')
info = []

# 获取表头信息
tbList = bsobj.find_all('table', attrs = {'class': 'tbspan'})

for item in tbList:
movie = []
link = item.b.find_all('a')[1]
name = link["title"]
url = 'https://www.dy2018.com' + link["href"]

try:
# 查找电影下载的磁力链接
temp = bs4.BeautifulSoup(get_data(url),'html.parser')
tbody = temp.find_all('tbody')

for i in tbody:
download = i.a.text
if 'magnet:?xt=urn:btih' in download:
movie.append(name)
movie.append(url)
movie.append(download)
#print(movie)
info.append(movie)
break
except Exception as e:
print(e)

return info
  注意代码 26 行处,我加了一个 if 语句的判定,如果下载链接中包含magnet:?xt=urn:btih 字符串,则视为有效链接,下载出来,否则跳过。
  2. 我仍然在想能不能有个办法使迅雷一键批量下载我们爬到的影片。使用 python 操纵第三方的软件,这或许很难的。不之后来找到了一种方式,也算是解决了这个问题。
  就是我们发觉迅雷软件启动后,会手动检查我们的剪切板,只要我们复制了下载链接,它便会手动弹出下载的提示框。借助这个思路,我们可以使用代码,将下载的链接复制步入剪切板,等下载框手动出现后,手动确认开始下载(这是我目前想到的最好的办法了,不知道诸位大鳄有没有更好的思路,欢迎指导交流)。
  
import pyperclip
import os
import pandas as pd
imageData = pd.read_csv("Data/电影天堂/动作片2.csv",names=['name','link','download'],encoding = 'gbk')
# 获取电影的下载链接,并用换行符分隔
a_link = imageData['download']
links = '\n'.join(a_link)
# 复制到剪切板
pyperclip.copy(links);
print('已粘贴');

# 打开迅雷
thunder_path = r'D:\Program Files (x86)\Thunder Network\Thunder9\Program\Thunder.exe'
os.startfile(thunder_path)
  亲测可以实现,但是。。。不建议尝试(你能想像迅雷打开的一瞬间创建几百个下载任务的场景吗?反正我的笔记本是缓了好久好久才反应过来)。大家还是老老实实的,手动复制链接下载吧(csv文件可以用 excel 打开网络爬虫下载,竖着选中一列,然后复制,也能达到相同的疗效),这种骚操作很蠢了还是不要试了。
  啰啰嗦嗦的写了很多,也不知道关键的问题讲清楚了没有。有那里没讲清楚,或者那里讲的不合适的话,欢迎恐吓。
  其实吧,写文章,写博客,写教程,都是一个知识重新熔炼内化的过程,在写这篇博客的时侯,我也仍然在反复考量我学习爬虫的过程,以及我爬虫代码一步步的变化,从一开始的所有代码全部揉在主函数中,到后来把一些变动较少的功能提取下来,写成单独的函数,再到后来产生基本稳定的五大部份。
  以至于在我后来学习使用 scrapy 框架时侯,惊人的发觉 scrapy 框架的结构跟我的爬虫结构有着异曲同工之妙,我的这个相当于是一个简易版的爬虫框架了,纯靠自己摸索达到这个疗效,我觉得还是很有成就感的。

panfengzjz的博客

采集交流优采云 发表了文章 • 0 个评论 • 338 次浏览 • 2020-06-04 08:04 • 来自相关话题

  ANONYMOUSLYCN的专栏
  03-03
  
  9259
  python 爬取知乎某一关键字数据
  python爬取知乎某一关键字数据序言和之前爬取Instagram数据一样,那位朋友还须要爬取知乎前面关于该影片的评论。没想到这是个坑洞啊。看起来很简单的一个事情就显得很复杂了。知乎假如说,有哪些事情是最坑的,我觉得就是在知乎前面讨论怎样抓取知乎的数据了。在2018年的时侯,知乎又进行了一次改版啊。真是一个坑洞。网上的代码几乎都不能使用了。只有这儿!的一篇文章还可以模拟登录一......
  Someone&的博客
  05-31
  
  5069
  输入关键字的爬虫方式(运行环境python3)
  前段时间,写了爬虫,在新浪搜索主页面中,实现了输入关键词,爬取关键词相关的新闻的标题、发布时间、url、关键字及内容。并依据内容,提取了摘要和估算了相似度。下面简述自己的思路并将代码的githup链接给出:1、获取关键词新闻页面的url在新浪搜索主页,输入关键词,点击搜索后会手动链接到关键词的新闻界面,想要获取这个页面的url,有两种思路,本文提供三种方式。......
  乐亦亦乐的博客
  08-15
  
  2901
  python爬虫——校花网
  爬取校花网图片校花网步入网站,我们会发觉许多图片,这些图片就是我们要爬取的内容。 2.对网页进行剖析,按F12打开开发着工具(本文使用谷歌浏览器)。我们发觉每位图片都对应着一个路径。 3.我们访问一下img标签的src路径。正是图片的路径,能够获取到图片。因此我们须要获取网页中img标签下所有的s......
  一朵凋谢的菊花
  03-05
  
  386
  Python定向爬虫——校园论坛贴子信息
  写这个小爬虫主要是为了爬校园峰会上的实习信息,主要采用了Requests库
  weixin_34268579的博客
  12-17
  
  4301
  详解怎样用爬虫批量抓取百度搜索多个关键字数据
  2019独角兽企业重金急聘Python工程师标准>>>...
  weixin_33852020的博客
  06-23
  
  313
  如何通过关键词匹配统计其出现的频度
  最近写的一个perl程序,通过关键词匹配统计其出现的频度,让人感受到perl正则表达式的强悍,程序如下:#!/usr/bin/perluse strict;my (%hash,%hash1,@array);while(<>){s/\r\n//;my $line;if(/-(.+?)【(.+?)】【(.+?)】(定单积压)/...
  W&J
  02-10
  
  9415
  python 实现关键词提取
  Python实现关键词提取这篇文章只介绍了Python中关键词提取的实现。关键词提取的几个方式:1.textrank2.tf-idf3.LDA,其中textrank和tf-idf在jieba中都有封装好的函数,调用上去非常简单方便。常用的自然语言处理的库还有nltk,gensim,sklearn中也有封装好的函数可以进行SVD分解和LDA等。LDA也有人分装好了库,直接pipinsta......
  zzz1048506792的博客
  08-08
  
  992
  python爬虫爬取政府网站关键字
  **功能介绍**获取政府招标内容包含以下关键词,就提取该标书内容保存(本地文本)1,汽车采购2、汽车租赁3、公务车4、公务车租赁5、汽车合同供货6、汽车7、租赁爬取网站作者:speed_zombie版本信息:python v3.7.4运行......
  最新陌陌小程序源码
  panfengzjz的博客
  01-01
  
  442
  PYTHON 实现 NBA 赛程查询工具(二)—— 网络爬虫
  前言:第一篇博客,记录一下近来的一点点小成果。一切的学习都从兴趣开始。最近突然想学习一下pyqt和python的网路爬虫知识,于是就自己找了一个课题做了上去。因为我刚好是个 NBA歌迷,就想到了通过网路爬虫来抓取大赛结果,方便本地进行查找的项目。这个项目总共分为三步:1. 界面制做:选择对应的球员,显示球员图标和赛事结果2.网络爬虫:访问特定网页,查找赛季至......
  微信小程序源码-合集1
  panfengzjz的博客
  05-25
  
  4475
  PYTHON 中 global 关键字的用法
  之前写函数的时侯,由于传参实在太多,于是将某个字段定义为全局变量,在函数中直接使用。可是在使用过程中发觉会报错,原因是在另一个调用函数中,该全局变量的类型被更改了,那那边刚好彻底用几个事例来理清一下python中global关键字可以起到的作用。案例一:先说我见到的问题(并没有贴上源代码,下面的事例是自己具象出一个便捷你们理解的小case)程序大约就是这样#error ca......
  panfengzjz的博客
  04-29
  
  1万+
  利用OpenCV-python进行直线测量
  最近须要借助摄像头对细小的偏斜做矫治,由于之前的界面工具是用PyQT所写,在当前的工具中加入摄像头矫治程序,也准备用python直接完成。OpenCV简介:Python处理图象有OpenCV库。OpenCV可以运行在Linux,windows,macOS上,由C函数和C++类构成,用于实现计算机图象、视频的编辑,应用于图象辨识、运动跟踪、机器视觉等领域。Open......
  bensonrachel的博客
  05-18
  
  1728
  python-简单爬虫及相关数据处理(统计出文章出现次数最多的50个词)
  这次爬取了笑傲江湖这本小说;网站是:'#039;+str(696+i)+'.html'考虑到每一章的网址如上递增,所以使用一个循环来遍历网址进行爬取。然后找出文章的标签:如图:是<p>,</p>所以:代码如下:然后爬取以后,存在文档里,进行处理。我用的是nlpir的动词系统:作了处理以后,把所有词存进一list上面。之......
  glumpydog的专栏
  05-14
  
  5880
  python 抓取天涯贴子内容并保存
  手把手教你借助Python下载天涯热门贴子为txt文档 作者:大捷龙csdn : **剖析:天涯的贴子下载可以分为以下几个步骤自动传入一个贴子首页的地址打开文本提取贴子标题获取贴子的最大页数遍历每一页,获得每条回复的是否是楼主、作者爱称、回复时间。写入看文本关掉文本预备:Python的文件操作: 一、...
  cjy1041403539的博客
  04-14
  
  1961
  python微博爬虫——使用selenium爬取关键词下超话内容
  最近微博手机端的页面发生了些微的变化,导致了我之前的两篇文章微博任意关键词爬虫——使用selenium模拟浏览器和来!用python爬一爬“不知知网翟博士”的微博超话中的代码出现了一些报错情况,这里来更改一下欢迎关注公众号:老白和他的爬虫1.微博手机端出现的变化爬取手机端的微博益处在于能否爬取比网页端更多的数据,因为网页端微博内容通常限定在50页,数据量不够大,所以选择爬取手机端,这样可......
  scx2006114的博客
  08-03
  
  5441
  python爬虫之爬取简书中的小文章标题
  学习了三个星期的python基础句型,对python句型有了一个基本的了解,然后想继续深入学习,但不喜欢每晚啃书本,太无趣了,只有实战才是练兵的最好疗效。听说爬虫技术还是比较好玩的,就搞爬虫,但找了很多资料没有找到合适的资料,最后才找到传说中的合适爬虫初学者的书籍《Python3网络爬虫开发实战,崔庆才著》(文末附书本下载链接),学习了一天,终于完整搞出了自己的第一爬虫,哈哈~。......
  zhyh1435589631的专栏
  05-03
  
  8951
  python 爬虫实战 抓取中学bbs相关蓝筹股的回帖信息
  1. 前言之前也由于感兴趣, 写过一个抓取桌面天空上面喜欢的动画墙纸的爬虫代码。这三天忽然听到有人写了那么一篇文章: 爬取易迅本周热销商品基本信息存入MySQL 感觉挺有趣的, 正好临近找工作的季节, 就想着能不能写个爬虫, 把俺们中学bbs前面相关的蓝筹股上面的回帖信息给记录出来。2. 项目剖析首先我们打开我们的目标网页 结...
  jiangfullll的专栏
  05-08
  
  1991
  python爬虫 根据关键字在新浪网站查询跟关键字有关的新闻条数(按照时间查询)
  # -*- coding: utf-8 -*-"""Created on Thu May 8 09:14:13 2014@author: lifeix"""import urllib2import refrom datetime import datetimedef craw1(keyword_name, startYear): a = keyword_name
  c350577169的博客
  05-22
  
  3万+
  python爬虫--如何爬取翻页url不变的网站
  之前准备爬取一个图片资源网站,但是在翻页时发觉它的url并没有改变,无法简单的通过request.get()访问其他页面。据搜索资料,了解到这种网站是通过ajax动态加载技术实现。即可以在不重新加载整个网页的情况下,对网页的某部份进行更新。这样的设置无疑给早期爬虫菜鸟制造了一些困难。1、什么是ajax几个常见的用到ajax的场景。比如你在逛知乎,你没有刷新过网页,但是你却能看到你关注的用户或则话题......
  iteye_17286的博客
  11-20
  
  1071
  如何从文件中检索关键字出现的次数
  首先得到文件的完整路径,然后从流中读取每位字符,如果读出的字符和关键字的第一个字符相同,则根据关键字宽度读取相同个数的字符,分别判定是否相同,若有一个不相同则break,否则计数器count++,最后count的个数即是关键字在文件中出下的次数......
  weixin_34237596的博客
  05-16
  
  280
  [Python爬虫]新闻网页爬虫+jieba分词+关键词搜索排序
  前言近来做了一个python3作业题目,涉及到:网页爬虫网页英文文字提取构建文字索引关键词搜索涉及到的库有:爬虫库:requests解析库:xpath正则:re分词库:jieba...放出代码便捷你们快速参考,实现一个小demo。题目描述搜索引擎的设计与实现输入:腾讯体育的页面链接,以列表的形式作为输入,数量不定,例如:["
  纯洁的笑容
  03-04
  
  14万+
  和黑客斗争的 6 天!
  互联网公司工作爬虫论坛,很难避开不和黑客们打交道,我呆过的两家互联网公司,几乎每月每晚每分钟都有黑客在公司网站上扫描。有的是找寻 Sql 注入的缺口爬虫论坛,有的是找寻线上服务器可能存在的漏洞,大部分都...
  Blessy_Zhu的博客
  03-20
  
  1万+
  Python爬虫之陌陌数据爬取(十三)
  原创不易,转载前请标明博主的链接地址:Blessy_Zhu本次代码的环境:运行平台:WindowsPython版本:Python3.xIDE:PyCharm一、前言陌陌作为我们日常交流的软件,越来越深入到我们的生活。但是,随着陌陌好的数目的降低,实际上真正可以联系的知心人却越来越少了。那么,怎么样能更清......
  07-26
  
  2万+
  使用网页爬虫(高级搜索功能)搜集含关键词新浪微博数据
  作为国外社交媒体的领航者,很遗憾,新浪微博没有提供以“关键字+时间+区域”方式获取的官方API。当我们听到美国科研成果都是基于某关键字获得的微博,心中不免凉了一大截,或者转战脸书。再次建议微博能更开放些!庆幸的是,新浪提供了中级搜索功能。找不到?这个功能须要用户登入能够使用……没关系,下面将详尽述说怎样在无须登陆的情况下,获取“关键字+时间+区域”的新浪微博。...
  路人甲Java
  03-25
  
  9万+
  面试阿里p7,被按在地上磨擦,鬼晓得我经历了哪些?
  面试阿里p7被问到的问题(当时我只晓得第一个):@Conditional是做哪些的?@Conditional多个条件是哪些逻辑关系?条件判定在什么时候执... 查看全部

  ANONYMOUSLYCN的专栏
  03-03
  
  9259
  python 爬取知乎某一关键字数据
  python爬取知乎某一关键字数据序言和之前爬取Instagram数据一样,那位朋友还须要爬取知乎前面关于该影片的评论。没想到这是个坑洞啊。看起来很简单的一个事情就显得很复杂了。知乎假如说,有哪些事情是最坑的,我觉得就是在知乎前面讨论怎样抓取知乎的数据了。在2018年的时侯,知乎又进行了一次改版啊。真是一个坑洞。网上的代码几乎都不能使用了。只有这儿!的一篇文章还可以模拟登录一......
  Someone&的博客
  05-31
  
  5069
  输入关键字的爬虫方式(运行环境python3)
  前段时间,写了爬虫,在新浪搜索主页面中,实现了输入关键词,爬取关键词相关的新闻的标题、发布时间、url、关键字及内容。并依据内容,提取了摘要和估算了相似度。下面简述自己的思路并将代码的githup链接给出:1、获取关键词新闻页面的url在新浪搜索主页,输入关键词,点击搜索后会手动链接到关键词的新闻界面,想要获取这个页面的url,有两种思路,本文提供三种方式。......
  乐亦亦乐的博客
  08-15
  
  2901
  python爬虫——校花网
  爬取校花网图片校花网步入网站,我们会发觉许多图片,这些图片就是我们要爬取的内容。 2.对网页进行剖析,按F12打开开发着工具(本文使用谷歌浏览器)。我们发觉每位图片都对应着一个路径。 3.我们访问一下img标签的src路径。正是图片的路径,能够获取到图片。因此我们须要获取网页中img标签下所有的s......
  一朵凋谢的菊花
  03-05
  
  386
  Python定向爬虫——校园论坛贴子信息
  写这个小爬虫主要是为了爬校园峰会上的实习信息,主要采用了Requests库
  weixin_34268579的博客
  12-17
  
  4301
  详解怎样用爬虫批量抓取百度搜索多个关键字数据
  2019独角兽企业重金急聘Python工程师标准>>>...
  weixin_33852020的博客
  06-23
  
  313
  如何通过关键词匹配统计其出现的频度
  最近写的一个perl程序,通过关键词匹配统计其出现的频度,让人感受到perl正则表达式的强悍,程序如下:#!/usr/bin/perluse strict;my (%hash,%hash1,@array);while(<>){s/\r\n//;my $line;if(/-(.+?)【(.+?)】【(.+?)】(定单积压)/...
  W&J
  02-10
  
  9415
  python 实现关键词提取
  Python实现关键词提取这篇文章只介绍了Python中关键词提取的实现。关键词提取的几个方式:1.textrank2.tf-idf3.LDA,其中textrank和tf-idf在jieba中都有封装好的函数,调用上去非常简单方便。常用的自然语言处理的库还有nltk,gensim,sklearn中也有封装好的函数可以进行SVD分解和LDA等。LDA也有人分装好了库,直接pipinsta......
  zzz1048506792的博客
  08-08
  
  992
  python爬虫爬取政府网站关键字
  **功能介绍**获取政府招标内容包含以下关键词,就提取该标书内容保存(本地文本)1,汽车采购2、汽车租赁3、公务车4、公务车租赁5、汽车合同供货6、汽车7、租赁爬取网站作者:speed_zombie版本信息:python v3.7.4运行......
  最新陌陌小程序源码
  panfengzjz的博客
  01-01
  
  442
  PYTHON 实现 NBA 赛程查询工具(二)—— 网络爬虫
  前言:第一篇博客,记录一下近来的一点点小成果。一切的学习都从兴趣开始。最近突然想学习一下pyqt和python的网路爬虫知识,于是就自己找了一个课题做了上去。因为我刚好是个 NBA歌迷,就想到了通过网路爬虫来抓取大赛结果,方便本地进行查找的项目。这个项目总共分为三步:1. 界面制做:选择对应的球员,显示球员图标和赛事结果2.网络爬虫:访问特定网页,查找赛季至......
  微信小程序源码-合集1
  panfengzjz的博客
  05-25
  
  4475
  PYTHON 中 global 关键字的用法
  之前写函数的时侯,由于传参实在太多,于是将某个字段定义为全局变量,在函数中直接使用。可是在使用过程中发觉会报错,原因是在另一个调用函数中,该全局变量的类型被更改了,那那边刚好彻底用几个事例来理清一下python中global关键字可以起到的作用。案例一:先说我见到的问题(并没有贴上源代码,下面的事例是自己具象出一个便捷你们理解的小case)程序大约就是这样#error ca......
  panfengzjz的博客
  04-29
  
  1万+
  利用OpenCV-python进行直线测量
  最近须要借助摄像头对细小的偏斜做矫治,由于之前的界面工具是用PyQT所写,在当前的工具中加入摄像头矫治程序,也准备用python直接完成。OpenCV简介:Python处理图象有OpenCV库。OpenCV可以运行在Linux,windows,macOS上,由C函数和C++类构成,用于实现计算机图象、视频的编辑,应用于图象辨识、运动跟踪、机器视觉等领域。Open......
  bensonrachel的博客
  05-18
  
  1728
  python-简单爬虫及相关数据处理(统计出文章出现次数最多的50个词)
  这次爬取了笑傲江湖这本小说;网站是:'#039;+str(696+i)+'.html'考虑到每一章的网址如上递增,所以使用一个循环来遍历网址进行爬取。然后找出文章的标签:如图:是<p>,</p>所以:代码如下:然后爬取以后,存在文档里,进行处理。我用的是nlpir的动词系统:作了处理以后,把所有词存进一list上面。之......
  glumpydog的专栏
  05-14
  
  5880
  python 抓取天涯贴子内容并保存
  手把手教你借助Python下载天涯热门贴子为txt文档 作者:大捷龙csdn : **剖析:天涯的贴子下载可以分为以下几个步骤自动传入一个贴子首页的地址打开文本提取贴子标题获取贴子的最大页数遍历每一页,获得每条回复的是否是楼主、作者爱称、回复时间。写入看文本关掉文本预备:Python的文件操作: 一、...
  cjy1041403539的博客
  04-14
  
  1961
  python微博爬虫——使用selenium爬取关键词下超话内容
  最近微博手机端的页面发生了些微的变化,导致了我之前的两篇文章微博任意关键词爬虫——使用selenium模拟浏览器和来!用python爬一爬“不知知网翟博士”的微博超话中的代码出现了一些报错情况,这里来更改一下欢迎关注公众号:老白和他的爬虫1.微博手机端出现的变化爬取手机端的微博益处在于能否爬取比网页端更多的数据,因为网页端微博内容通常限定在50页,数据量不够大,所以选择爬取手机端,这样可......
  scx2006114的博客
  08-03
  
  5441
  python爬虫之爬取简书中的小文章标题
  学习了三个星期的python基础句型,对python句型有了一个基本的了解,然后想继续深入学习,但不喜欢每晚啃书本,太无趣了,只有实战才是练兵的最好疗效。听说爬虫技术还是比较好玩的,就搞爬虫,但找了很多资料没有找到合适的资料,最后才找到传说中的合适爬虫初学者的书籍《Python3网络爬虫开发实战,崔庆才著》(文末附书本下载链接),学习了一天,终于完整搞出了自己的第一爬虫,哈哈~。......
  zhyh1435589631的专栏
  05-03
  
  8951
  python 爬虫实战 抓取中学bbs相关蓝筹股的回帖信息
  1. 前言之前也由于感兴趣, 写过一个抓取桌面天空上面喜欢的动画墙纸的爬虫代码。这三天忽然听到有人写了那么一篇文章: 爬取易迅本周热销商品基本信息存入MySQL 感觉挺有趣的, 正好临近找工作的季节, 就想着能不能写个爬虫, 把俺们中学bbs前面相关的蓝筹股上面的回帖信息给记录出来。2. 项目剖析首先我们打开我们的目标网页 结...
  jiangfullll的专栏
  05-08
  
  1991
  python爬虫 根据关键字在新浪网站查询跟关键字有关的新闻条数(按照时间查询)
  # -*- coding: utf-8 -*-"""Created on Thu May 8 09:14:13 2014@author: lifeix"""import urllib2import refrom datetime import datetimedef craw1(keyword_name, startYear): a = keyword_name
  c350577169的博客
  05-22
  
  3万+
  python爬虫--如何爬取翻页url不变的网站
  之前准备爬取一个图片资源网站,但是在翻页时发觉它的url并没有改变,无法简单的通过request.get()访问其他页面。据搜索资料,了解到这种网站是通过ajax动态加载技术实现。即可以在不重新加载整个网页的情况下,对网页的某部份进行更新。这样的设置无疑给早期爬虫菜鸟制造了一些困难。1、什么是ajax几个常见的用到ajax的场景。比如你在逛知乎,你没有刷新过网页,但是你却能看到你关注的用户或则话题......
  iteye_17286的博客
  11-20
  
  1071
  如何从文件中检索关键字出现的次数
  首先得到文件的完整路径,然后从流中读取每位字符,如果读出的字符和关键字的第一个字符相同,则根据关键字宽度读取相同个数的字符,分别判定是否相同,若有一个不相同则break,否则计数器count++,最后count的个数即是关键字在文件中出下的次数......
  weixin_34237596的博客
  05-16
  
  280
  [Python爬虫]新闻网页爬虫+jieba分词+关键词搜索排序
  前言近来做了一个python3作业题目,涉及到:网页爬虫网页英文文字提取构建文字索引关键词搜索涉及到的库有:爬虫库:requests解析库:xpath正则:re分词库:jieba...放出代码便捷你们快速参考,实现一个小demo。题目描述搜索引擎的设计与实现输入:腾讯体育的页面链接,以列表的形式作为输入,数量不定,例如:["
  纯洁的笑容
  03-04
  
  14万+
  和黑客斗争的 6 天!
  互联网公司工作爬虫论坛,很难避开不和黑客们打交道,我呆过的两家互联网公司,几乎每月每晚每分钟都有黑客在公司网站上扫描。有的是找寻 Sql 注入的缺口爬虫论坛,有的是找寻线上服务器可能存在的漏洞,大部分都...
  Blessy_Zhu的博客
  03-20
  
  1万+
  Python爬虫之陌陌数据爬取(十三)
  原创不易,转载前请标明博主的链接地址:Blessy_Zhu本次代码的环境:运行平台:WindowsPython版本:Python3.xIDE:PyCharm一、前言陌陌作为我们日常交流的软件,越来越深入到我们的生活。但是,随着陌陌好的数目的降低,实际上真正可以联系的知心人却越来越少了。那么,怎么样能更清......
  07-26
  
  2万+
  使用网页爬虫(高级搜索功能)搜集含关键词新浪微博数据
  作为国外社交媒体的领航者,很遗憾,新浪微博没有提供以“关键字+时间+区域”方式获取的官方API。当我们听到美国科研成果都是基于某关键字获得的微博,心中不免凉了一大截,或者转战脸书。再次建议微博能更开放些!庆幸的是,新浪提供了中级搜索功能。找不到?这个功能须要用户登入能够使用……没关系,下面将详尽述说怎样在无须登陆的情况下,获取“关键字+时间+区域”的新浪微博。...
  路人甲Java
  03-25
  
  9万+
  面试阿里p7,被按在地上磨擦,鬼晓得我经历了哪些?
  面试阿里p7被问到的问题(当时我只晓得第一个):@Conditional是做哪些的?@Conditional多个条件是哪些逻辑关系?条件判定在什么时候执...

从python基础到爬虫的书有哪些值得推荐

采集交流优采云 发表了文章 • 0 个评论 • 465 次浏览 • 2020-07-04 08:00 • 来自相关话题

  于我个人而言,我很喜欢2113Python,当然我也5261有很多的理由推荐你去学python.我只4102说两点.一是简单,二是写python工资高1653.我感觉这俩理由就够了,对不对.买本书,装上pycharm,把书里面的事例习题都敲一遍.再用flask,web.py等框架搭个小网站.. 完美...(小伙伴们有问到该学python2.7还是3.X,那我的答案是:目前大多数实际开发,都是用2.7的,因为实际项目开发有很多依赖的包,都只支持到2.7,你用3.X干不了活.那你能怎样办.所以不需要苦恼.等3.X普及,你写的2.7代码,都可以无痛移植,妥妥的不用害怕.)
  第一个
  个人觉得《Python学习手册:第3版》是学习语言基础比较好的书了.
  《Python学习手册(第3版)》讲述了:Python可移植、功能强悍、易于使用,是编撰独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或则刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。
  《Python学习手册(第3版)》是作者依据过去10年用于教学而广为人知的培训课程的材料编撰而成的。除了有许多详尽说明和每章小结之外,每章还包括一个头脑风暴:这是《Python学习手册(第3版)》独特的一部分,配合以实用的练习题和复习题,让读者练习新学的方法并测试自己的理解程度。
  《Python学习手册(第3版)》包括:
  类型和操作——深入讨论Python主要的外置对象类型:数字、列表和字典等。
  语句和句型——在Python中输入代码来构建并处理对象,以及Python通常的句型模型。
  函数——Python基本的面向过程工具,用于组织代码和重用。
  模块——封装句子、函数以及其他工具,从而可以组织成较大的组件。
  类和OOP——Python可选的面向对象编程工具,可用于组织程序代码因而实现订制和重用。
  异常和工具——异常处理模型和句子,并介绍编撰更大程序的开发工具。
  讨论Python 3.0。
  《Python学习手册(第3版)》让你对Python语言有深入而完整的了解,从而帮助你理解今后碰到的任何Python应用程序实例。如果你打算探求Google和YouTube为何选中了Python,《Python学习手册(第3版)》就是你入门的最佳手册。
  第二个
  《Python基础教程(第2版·修订版)》也是精典的Python入门教程,层次鲜明,结构严谨,内容详实,特别是最后几章,作者将上面述说的内容应用到10个引人入胜的项目中,并以模板的方式介绍了项目的开发过程,手把手院长Python开发,让读者从项目中展现Python的真正魅力。这本书既适宜初学者筑牢基础,又能帮助Python程序员提高技能,即使是Python方面的技术专家,也能从书里找到耳目一新的内容。
  第三个
  《“笨办法”学Python(第3版)》是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的初学者使用。这本书结构十分简单,其中覆盖了输入/输出、变量和函数三个主题,以及一些比较中级的话题,如条件判定、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编撰代码,运行并检测结果,然后再做附加练习。这本书以习题的方法引导读者一步一步学习编程,从简单的复印仍然讲授到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
  【大牛评价】hardway(笨办法)比较适宜起步编程,作为Python的入门挺不错。
  第四个
  在这里给你们推荐最后一本《集体智慧编程》
  本书以机器学习与估算统计为主题背景,专门述说怎么挖掘和剖析Web上的数据和资源,如何剖析用户体验、市场营销、个人品位等众多信息,并得出有用的推论python爬虫数据书籍,通过复杂的算法来从Web网站获取、收集并剖析用户的数据和反馈信息,以便创造新的用户价值和商业价值。
  全书内容详实,包括协作过滤技术(实现关联产品推荐功能)、集群数据剖析(在大规模数据集中开掘相像的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行剖析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
  本书是Web开发者、架构师、应用工程师等的极佳选择。
  “太棒了!对于初学这种算法的开发者而言,我想不出有比这本书更好的选择了,而对于象我这样学过Al的道友而言,我也想不出还有什么更好的办法才能使自己重温这种知识的细节。”
  ——Dan Russell,资深技术总监,Google
  “Toby的这本书十分成功地将机器学习算法这一复杂的议程分拆成了一个个既实用又易懂的事例,我们可以直接借助那些反例来剖析当前网路上的社会化交互作用。假如我早三年读过这本书,就会省去许多宝贵的时间python爬虫数据书籍,也不至于走那么多的弯路了。”
  ——Tim Wolters,CTO,Collective Intellect
  第五个
  其实我认为很多人也在看《Python核心编程:第2版》.在我自己看来,我并不喜欢这本书.
  这本书的原书的勘误表就有够长的,翻译时却几乎没有参考勘误表,把原书的所有低级错误都搬进去了。这本书的原书质量也并不好,书的结构组织并不合理,不适宜初学者阅读。有人说,这本书适宜进阶阅读,我认为也不尽然。这本书好多地方都写的欲言又止的,看得人很郁闷。 查看全部

  于我个人而言,我很喜欢2113Python,当然我也5261有很多的理由推荐你去学python.我只4102说两点.一是简单,二是写python工资高1653.我感觉这俩理由就够了,对不对.买本书,装上pycharm,把书里面的事例习题都敲一遍.再用flask,web.py等框架搭个小网站.. 完美...(小伙伴们有问到该学python2.7还是3.X,那我的答案是:目前大多数实际开发,都是用2.7的,因为实际项目开发有很多依赖的包,都只支持到2.7,你用3.X干不了活.那你能怎样办.所以不需要苦恼.等3.X普及,你写的2.7代码,都可以无痛移植,妥妥的不用害怕.)
  第一个
  个人觉得《Python学习手册:第3版》是学习语言基础比较好的书了.
  《Python学习手册(第3版)》讲述了:Python可移植、功能强悍、易于使用,是编撰独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或则刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。
  《Python学习手册(第3版)》是作者依据过去10年用于教学而广为人知的培训课程的材料编撰而成的。除了有许多详尽说明和每章小结之外,每章还包括一个头脑风暴:这是《Python学习手册(第3版)》独特的一部分,配合以实用的练习题和复习题,让读者练习新学的方法并测试自己的理解程度。
  《Python学习手册(第3版)》包括:
  类型和操作——深入讨论Python主要的外置对象类型:数字、列表和字典等。
  语句和句型——在Python中输入代码来构建并处理对象,以及Python通常的句型模型。
  函数——Python基本的面向过程工具,用于组织代码和重用。
  模块——封装句子、函数以及其他工具,从而可以组织成较大的组件。
  类和OOP——Python可选的面向对象编程工具,可用于组织程序代码因而实现订制和重用。
  异常和工具——异常处理模型和句子,并介绍编撰更大程序的开发工具。
  讨论Python 3.0。
  《Python学习手册(第3版)》让你对Python语言有深入而完整的了解,从而帮助你理解今后碰到的任何Python应用程序实例。如果你打算探求Google和YouTube为何选中了Python,《Python学习手册(第3版)》就是你入门的最佳手册。
  第二个
  《Python基础教程(第2版·修订版)》也是精典的Python入门教程,层次鲜明,结构严谨,内容详实,特别是最后几章,作者将上面述说的内容应用到10个引人入胜的项目中,并以模板的方式介绍了项目的开发过程,手把手院长Python开发,让读者从项目中展现Python的真正魅力。这本书既适宜初学者筑牢基础,又能帮助Python程序员提高技能,即使是Python方面的技术专家,也能从书里找到耳目一新的内容。
  第三个
  《“笨办法”学Python(第3版)》是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的初学者使用。这本书结构十分简单,其中覆盖了输入/输出、变量和函数三个主题,以及一些比较中级的话题,如条件判定、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编撰代码,运行并检测结果,然后再做附加练习。这本书以习题的方法引导读者一步一步学习编程,从简单的复印仍然讲授到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
  【大牛评价】hardway(笨办法)比较适宜起步编程,作为Python的入门挺不错。
  第四个
  在这里给你们推荐最后一本《集体智慧编程》
  本书以机器学习与估算统计为主题背景,专门述说怎么挖掘和剖析Web上的数据和资源,如何剖析用户体验、市场营销、个人品位等众多信息,并得出有用的推论python爬虫数据书籍,通过复杂的算法来从Web网站获取、收集并剖析用户的数据和反馈信息,以便创造新的用户价值和商业价值。
  全书内容详实,包括协作过滤技术(实现关联产品推荐功能)、集群数据剖析(在大规模数据集中开掘相像的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行剖析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
  本书是Web开发者、架构师、应用工程师等的极佳选择。
  “太棒了!对于初学这种算法的开发者而言,我想不出有比这本书更好的选择了,而对于象我这样学过Al的道友而言,我也想不出还有什么更好的办法才能使自己重温这种知识的细节。”
  ——Dan Russell,资深技术总监,Google
  “Toby的这本书十分成功地将机器学习算法这一复杂的议程分拆成了一个个既实用又易懂的事例,我们可以直接借助那些反例来剖析当前网路上的社会化交互作用。假如我早三年读过这本书,就会省去许多宝贵的时间python爬虫数据书籍,也不至于走那么多的弯路了。”
  ——Tim Wolters,CTO,Collective Intellect
  第五个
  其实我认为很多人也在看《Python核心编程:第2版》.在我自己看来,我并不喜欢这本书.
  这本书的原书的勘误表就有够长的,翻译时却几乎没有参考勘误表,把原书的所有低级错误都搬进去了。这本书的原书质量也并不好,书的结构组织并不合理,不适宜初学者阅读。有人说,这本书适宜进阶阅读,我认为也不尽然。这本书好多地方都写的欲言又止的,看得人很郁闷。

Python 网络爬虫实战:爬取并下载《电影天堂》3千多部动作片影片

采集交流优采云 发表了文章 • 0 个评论 • 1481 次浏览 • 2020-07-03 08:00 • 来自相关话题

  不知不觉,玩爬虫玩了一个多月了。
  我更加认为,爬虫似乎并不是哪些非常深奥的技术,它的价值不在于你使用了哪些非常牛的框架,用了多么了不起的技术,它不需要。它只是以一种自动化收集数据的小工具,能够获取到想要的数据,就是它最大的价值。
  我的爬虫课老师也常跟我们指出,学习爬虫最重要的,不是学习上面的技术,因为后端技术在不断的发展,爬虫的技术便会随着改变。学习爬虫最重要的是,学习它的原理,万变不距其宗。
  爬虫说白了是为了解决须要,方便生活的。如果还能在日常生活中,想到并应用爬虫去解决实际的问题,那么爬虫的真正意义也久发挥下来了。
  这是些闲谈啦,有感而发而已。
  最近有点片荒,不知道该看哪些影片,而且有些影片在网上找很久也找不到资源。后来我了解到这个网站,发现近来好多不错的影片里面都有资源(这里我就先不管它的来源正不正规啦,#掩面)。
  所以此次我们要爬取的网站是:《电影天堂》,屯一些影片,等无趣的时侯拿出来瞧瞧,消遣闲暇也是不错。
  
  这次的网站,从爬虫的技术角度上来讲,难度不大,而且可以说是十分简单了。但是,它实用啊!你想嘛,早上下班前跑一下爬虫,晚上回去之后早已有几十部最新大片在你硬碟里等着你啦,累了三天躺床上瞧瞧影片,这种觉得是不是太爽啊。
  而且正由于这个爬虫比较简单,所以我会写的稍为细一点,争取使 python 小白们也能尽可能读懂,并且还能在这个爬虫的基础上更改,得到爬取这个网站其他蓝筹股或则其他影片网站的爬虫。
  在编撰爬虫程序之前,我先捋一捋我们的思路。
  爬虫的原理,是通过给定的一个URL(就是类似于 这样的,俗称网址的东东) 请求,去访问一个网页,获取哪个网页上的源代码(不知道源代码的,随便打开一个网页,右键,查看网页源代码,出来的一大堆象乱码一样的东西就是网页源代码,我们须要的数据就藏在这种源代码上面)并返回来。然后,通过一些手段(比如说json库,BeautifulSoup库,正则表达式等)从网页源代码中筛选出我们想要的数据(当然,前提是我们须要剖析网页结构,知道自己想要哪些数据,以及那些数据储存在网页的哪里网络爬虫下载,存放的位置有哪些特点等)。最后,将我们获取到的数据根据一定的格式,存储到本地或则数据库中,这样就完成了爬虫的全部工作。
  当然,也有一些 「骚操作」,如果你嫌爬虫效率低,可以开多线程(就是相当于几十只爬虫同时给你爬,效率直接翻了几十倍);如果害怕爬取频度过低被网站封 IP,可以挂 IP 代理(相当于打几枪换个地方,对方网站就不知道你到底是爬虫还是正常访问的用户了);如果对方网站有反爬机制,那么也有一些骚操作可以绕开反爬机制(有点黑客攻守的觉得,有木有!)。这些都是后话了。
  1. 分析网页的 URL 的组成结构
  首先,我们须要剖析网页的 URL 的组成结构,主要关注两方面,一是怎样切换选择的影片类型,二是网页怎么翻页的。
  电影类型
  网址
  剧情片
  喜剧片
  动作片
  爱情片
  科幻片
  动画片
  悬疑片
  惊悚片
  恐怖片
  记录片
  ......
  ......
  灾难片
  武侠片
  古装片
  发现规律了吧,以后假如想爬其他类型的影片,只要改变 url 中的数字即可,甚至你可以写一个循环,把所有蓝筹股中的影片全部爬取出来。
  页码
  URL
  第一页
  第二页
  第三页
  第四页
  除了第一页是 「index」外,其余页脚均是 「index_页码」的方式。
  所以我们基本把握了网站的 url 的构成方式,这样我们就可以通过自己构造 url 来访问任意类型影片的任意一页了,是不是太酷。
  2. 分析网站的页面结构
  其次,我们剖析一下网站的页面结构,看一看我们须要的信息都藏在网页的哪些地方(在这之前我们先要明晰一下我们须要什么数据),由于我们这个目的是下载影片,所以对我有用的数据只有两个,电影名称和下载影片的磁力链接。
  按 F12 召唤出开发者工具(这个工具可以帮助你快速定位网页中的元素在 html 源代码中位置)。
  
  然后,我们可以发觉,电影列表中,每一部影片的信息储存在一个 <table> 标签里,而影片的名子,就藏在上面的一个 <a> 标签中。电影下载的磁力链接在影片的详情页面,而影片详情页面的网址也在这个<a> 标签中( href 属性的值)。
  
  而下载的磁力链接,存放在 <tbody> 标签下的 <a> 标签中,是不是太好找啊!
  最后我们来缕一缕思路,一会儿我们打算这样操作:通过上面的网址的构造规则,访问到网站的某一页,然后获取到这个页面里的所有 table 标签(这里储存着影片的数据),然后从每一个 table 标签中找到存有影片名称的 a 标签(这里可以领到影片名称以及详情页面的网址),然后通过这儿获取的网址访问影片的详情页面,在详情页面选购出 <tbody> 标签下的 <a> 标签(这里储存着影片的下载链接),这样我们就找到了我们所须要的全部数据了,是不是很简单啊。
  爬虫的程序,我通常习惯把它分成五个部份, 一是主函数,作为程序的入口,二是爬虫调度器,三是网路恳求函数,四是网页解析函数,五是数据储存函数。
  
# 我们用到的库
import requests
import bs4
import re
import pandas as pd
  1.网络恳求函数 :get_data (url)
  负责访问指定的 url 网页,并将网页的内容返回,此部份功能比较简单固定,一般不需要做更改(除非你要挂代理,或者自定义恳求头等,可以做一些相应的调整)。
  
def get_data(url):
'''
功能:访问 url 的网页,获取网页内容并返回
参数:
url :目标网页的 url
返回:目标网页的 html 内容
'''
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}

try:
r = requests.get(url, headers=headers)
r.raise_for_status()
return r.text

except requests.HTTPError as e:
print(e)
print("HTTPError")
except requests.RequestException as e:
print(e)
except:
print("Unknown Error !")
  2.网页解析函数:parse_data(html)
  这个函数是整个爬虫程序的核心所在,整体思路在上一部分早已讲过了。我这儿使用的库是BeautifulSoup。
  这部份的写法多种多样,有很多发挥的空间,也没有哪些太多固定的模式,因为这部份的写法是要随着不同网站的页面结构来做调整的,比如说有的网站提供了数据的 api 接口,那么返回的数据就是 json 格式,我们只须要调用 json 库就可以完成数据解析,而大部分的网站只能通过从网页源代码中一层层筛选(筛选手段也多种多样,什么正则表达式,beautifulsoup等等)。
  这里须要依照数据的方式来选择不同的筛选策略,所以,知道原理就可以了,习惯哪些方式就用哪些方式,反正最后能领到数据就好了。
  
def parse_data(html):
'''
功能:提取 html 页面信息中的关键信息,并整合一个数组并返回
参数:html 根据 url 获取到的网页内容
返回:存储有 html 中提取出的关键信息的数组
'''
bsobj = bs4.BeautifulSoup(html,'html.parser')
info = []

# 获取电影列表
tbList = bsobj.find_all('table', attrs = {'class': 'tbspan'})

# 对电影列表中的每一部电影单独处理
for item in tbList:
movie = []
link = item.b.find_all('a')[1]
# 获取电影的名称
name = link["title"]
# 获取详情页面的 url
url = 'https://www.dy2018.com' + link["href"]
# 将数据存放到电影信息列表里
movie.append(name)
movie.append(url)

try:
# 访问电影的详情页面,查找电影下载的磁力链接
temp = bs4.BeautifulSoup(get_data(url),'html.parser')
tbody = temp.find_all('tbody')

# 下载链接有多个(也可能没有),这里将所有链接都放进来
for i in tbody:
download = i.a.text
movie.append(download)

#print(movie)
# 将此电影的信息加入到电影列表中
info.append(movie)

except Exception as e:
print(e)

return info
  3. 数据储存函数:save_data(data)
  这个函数目的是将数据储存到本地文件或数据库中,具体的写法要按照实际须要的储存方式来定,我这儿是将数据储存在本地的 csv 文件中。
  当然这个函数也并不只能做这些事儿,比如你可以在这里写一些简单的数据处理的操作,比如说:数据清洗,数据去重等操作。
  
def save_data(data):
'''
功能:将 data 中的信息输出到文件中/或数据库中。
参数:data 将要保存的数据
'''
filename = 'Data/电影天堂/动作片.csv'

dataframe = pd.DataFrame(data)
dataframe.to_csv(filename, mode='a', index=False, sep=',', header=False)
  4. 爬虫调度器:main()
  这个函数负责按照 url 生成规则,构造新的 url 请求,然后依次调用网路恳求函数,网页解析函数,数据储存函数,爬取并保存该页数据。
  所谓爬虫调度器,就是控制爬虫哪些时侯开始爬,多少只爬虫一起爬,爬那个网页,爬多久休息一次,等等这种事儿。
  
def main():
# 循环爬取多页数据
for page in range(1, 114):
print('正在爬取:第' + str(page) + '页......')
# 根据之前分析的 URL 的组成结构,构造新的 url
if page == 1:
index = 'index'
else:
index = 'index_' + str(page)
url = 'https://www.dy2018.com/2/'+ index +'.html'
# 依次调用网络请求函数,网页解析函数,数据存储函数,爬取并保存该页数据
html = get_data(url)
movies = parse_data(html)
save_data(movies)

print('第' + str(page) + '页完成!')
  5. 主函数:程序入口
  主函数作为程序的入口,只负责启动爬虫调度器。
  这里我通常习惯在 main() 函数前后输出一条句子,以此判定爬虫程序是否正常启动和结束。
  
if __name__ == '__main__':
print('爬虫启动成功!')
main()
print('爬虫执行完毕!')
  运行了两个小时左右吧,终于爬完了 113 页,共 3346 部动作片影片的数据(本来不止这种的,但是有一些影片没有提供下载链接,我在 excel 中排序后直接自动剔除了)。
  
  
  然后想看哪些影片的话,直接复制这种影片下载的磁力链接,到迅雷上面下载就好啦。
  1. 在网站提供的下载链接中,我试了一下,发现magnet 开头的这类链接置于迅雷中可以直接下载,而 ftp 开头的链接在迅雷中总显示资源获取失败(我不知道是不是我打开的形式不对,反正就是下载不来),于是我对程序做了一些小的调整,使其只获取magnet 这类的链接。
  修改的方法也很简单,只须要调整 网页解析函数 即可(爬虫的五个部份是相对独立的,修改时只需调整相应的模块即可,其余部份无需更改)。
  
def parse_data(html):
'''
功能:提取 html 页面信息中的关键信息,并整合一个数组并返回
参数:html 根据 url 获取到的网页内容
返回:存储有 html 中提取出的关键信息的数组
'''
bsobj = bs4.BeautifulSoup(html,'html.parser')
info = []

# 获取表头信息
tbList = bsobj.find_all('table', attrs = {'class': 'tbspan'})

for item in tbList:
movie = []
link = item.b.find_all('a')[1]
name = link["title"]
url = 'https://www.dy2018.com' + link["href"]

try:
# 查找电影下载的磁力链接
temp = bs4.BeautifulSoup(get_data(url),'html.parser')
tbody = temp.find_all('tbody')

for i in tbody:
download = i.a.text
if 'magnet:?xt=urn:btih' in download:
movie.append(name)
movie.append(url)
movie.append(download)
#print(movie)
info.append(movie)
break
except Exception as e:
print(e)

return info
  注意代码 26 行处,我加了一个 if 语句的判定,如果下载链接中包含magnet:?xt=urn:btih 字符串,则视为有效链接,下载出来,否则跳过。
  2. 我仍然在想能不能有个办法使迅雷一键批量下载我们爬到的影片。使用 python 操纵第三方的软件,这或许很难的。不之后来找到了一种方式,也算是解决了这个问题。
  就是我们发觉迅雷软件启动后,会手动检查我们的剪切板,只要我们复制了下载链接,它便会手动弹出下载的提示框。借助这个思路,我们可以使用代码,将下载的链接复制步入剪切板,等下载框手动出现后,手动确认开始下载(这是我目前想到的最好的办法了,不知道诸位大鳄有没有更好的思路,欢迎指导交流)。
  
import pyperclip
import os
import pandas as pd
imageData = pd.read_csv("Data/电影天堂/动作片2.csv",names=['name','link','download'],encoding = 'gbk')
# 获取电影的下载链接,并用换行符分隔
a_link = imageData['download']
links = '\n'.join(a_link)
# 复制到剪切板
pyperclip.copy(links);
print('已粘贴');

# 打开迅雷
thunder_path = r'D:\Program Files (x86)\Thunder Network\Thunder9\Program\Thunder.exe'
os.startfile(thunder_path)
  亲测可以实现,但是。。。不建议尝试(你能想像迅雷打开的一瞬间创建几百个下载任务的场景吗?反正我的笔记本是缓了好久好久才反应过来)。大家还是老老实实的,手动复制链接下载吧(csv文件可以用 excel 打开网络爬虫下载,竖着选中一列,然后复制,也能达到相同的疗效),这种骚操作很蠢了还是不要试了。
  啰啰嗦嗦的写了很多,也不知道关键的问题讲清楚了没有。有那里没讲清楚,或者那里讲的不合适的话,欢迎恐吓。
  其实吧,写文章,写博客,写教程,都是一个知识重新熔炼内化的过程,在写这篇博客的时侯,我也仍然在反复考量我学习爬虫的过程,以及我爬虫代码一步步的变化,从一开始的所有代码全部揉在主函数中,到后来把一些变动较少的功能提取下来,写成单独的函数,再到后来产生基本稳定的五大部份。
  以至于在我后来学习使用 scrapy 框架时侯,惊人的发觉 scrapy 框架的结构跟我的爬虫结构有着异曲同工之妙,我的这个相当于是一个简易版的爬虫框架了,纯靠自己摸索达到这个疗效,我觉得还是很有成就感的。 查看全部

  不知不觉,玩爬虫玩了一个多月了。
  我更加认为,爬虫似乎并不是哪些非常深奥的技术,它的价值不在于你使用了哪些非常牛的框架,用了多么了不起的技术,它不需要。它只是以一种自动化收集数据的小工具,能够获取到想要的数据,就是它最大的价值。
  我的爬虫课老师也常跟我们指出,学习爬虫最重要的,不是学习上面的技术,因为后端技术在不断的发展,爬虫的技术便会随着改变。学习爬虫最重要的是,学习它的原理,万变不距其宗。
  爬虫说白了是为了解决须要,方便生活的。如果还能在日常生活中,想到并应用爬虫去解决实际的问题,那么爬虫的真正意义也久发挥下来了。
  这是些闲谈啦,有感而发而已。
  最近有点片荒,不知道该看哪些影片,而且有些影片在网上找很久也找不到资源。后来我了解到这个网站,发现近来好多不错的影片里面都有资源(这里我就先不管它的来源正不正规啦,#掩面)。
  所以此次我们要爬取的网站是:《电影天堂》,屯一些影片,等无趣的时侯拿出来瞧瞧,消遣闲暇也是不错。
  
  这次的网站,从爬虫的技术角度上来讲,难度不大,而且可以说是十分简单了。但是,它实用啊!你想嘛,早上下班前跑一下爬虫,晚上回去之后早已有几十部最新大片在你硬碟里等着你啦,累了三天躺床上瞧瞧影片,这种觉得是不是太爽啊。
  而且正由于这个爬虫比较简单,所以我会写的稍为细一点,争取使 python 小白们也能尽可能读懂,并且还能在这个爬虫的基础上更改,得到爬取这个网站其他蓝筹股或则其他影片网站的爬虫。
  在编撰爬虫程序之前,我先捋一捋我们的思路。
  爬虫的原理,是通过给定的一个URL(就是类似于 这样的,俗称网址的东东) 请求,去访问一个网页,获取哪个网页上的源代码(不知道源代码的,随便打开一个网页,右键,查看网页源代码,出来的一大堆象乱码一样的东西就是网页源代码,我们须要的数据就藏在这种源代码上面)并返回来。然后,通过一些手段(比如说json库,BeautifulSoup库,正则表达式等)从网页源代码中筛选出我们想要的数据(当然,前提是我们须要剖析网页结构,知道自己想要哪些数据,以及那些数据储存在网页的哪里网络爬虫下载,存放的位置有哪些特点等)。最后,将我们获取到的数据根据一定的格式,存储到本地或则数据库中,这样就完成了爬虫的全部工作。
  当然,也有一些 「骚操作」,如果你嫌爬虫效率低,可以开多线程(就是相当于几十只爬虫同时给你爬,效率直接翻了几十倍);如果害怕爬取频度过低被网站封 IP,可以挂 IP 代理(相当于打几枪换个地方,对方网站就不知道你到底是爬虫还是正常访问的用户了);如果对方网站有反爬机制,那么也有一些骚操作可以绕开反爬机制(有点黑客攻守的觉得,有木有!)。这些都是后话了。
  1. 分析网页的 URL 的组成结构
  首先,我们须要剖析网页的 URL 的组成结构,主要关注两方面,一是怎样切换选择的影片类型,二是网页怎么翻页的。
  电影类型
  网址
  剧情片
  喜剧片
  动作片
  爱情片
  科幻片
  动画片
  悬疑片
  惊悚片
  恐怖片
  记录片
  ......
  ......
  灾难片
  武侠片
  古装片
  发现规律了吧,以后假如想爬其他类型的影片,只要改变 url 中的数字即可,甚至你可以写一个循环,把所有蓝筹股中的影片全部爬取出来。
  页码
  URL
  第一页
  第二页
  第三页
  第四页
  除了第一页是 「index」外,其余页脚均是 「index_页码」的方式。
  所以我们基本把握了网站的 url 的构成方式,这样我们就可以通过自己构造 url 来访问任意类型影片的任意一页了,是不是太酷。
  2. 分析网站的页面结构
  其次,我们剖析一下网站的页面结构,看一看我们须要的信息都藏在网页的哪些地方(在这之前我们先要明晰一下我们须要什么数据),由于我们这个目的是下载影片,所以对我有用的数据只有两个,电影名称和下载影片的磁力链接。
  按 F12 召唤出开发者工具(这个工具可以帮助你快速定位网页中的元素在 html 源代码中位置)。
  
  然后,我们可以发觉,电影列表中,每一部影片的信息储存在一个 <table> 标签里,而影片的名子,就藏在上面的一个 <a> 标签中。电影下载的磁力链接在影片的详情页面,而影片详情页面的网址也在这个<a> 标签中( href 属性的值)。
  
  而下载的磁力链接,存放在 <tbody> 标签下的 <a> 标签中,是不是太好找啊!
  最后我们来缕一缕思路,一会儿我们打算这样操作:通过上面的网址的构造规则,访问到网站的某一页,然后获取到这个页面里的所有 table 标签(这里储存着影片的数据),然后从每一个 table 标签中找到存有影片名称的 a 标签(这里可以领到影片名称以及详情页面的网址),然后通过这儿获取的网址访问影片的详情页面,在详情页面选购出 <tbody> 标签下的 <a> 标签(这里储存着影片的下载链接),这样我们就找到了我们所须要的全部数据了,是不是很简单啊。
  爬虫的程序,我通常习惯把它分成五个部份, 一是主函数,作为程序的入口,二是爬虫调度器,三是网路恳求函数,四是网页解析函数,五是数据储存函数。
  
# 我们用到的库
import requests
import bs4
import re
import pandas as pd
  1.网络恳求函数 :get_data (url)
  负责访问指定的 url 网页,并将网页的内容返回,此部份功能比较简单固定,一般不需要做更改(除非你要挂代理,或者自定义恳求头等,可以做一些相应的调整)。
  
def get_data(url):
'''
功能:访问 url 的网页,获取网页内容并返回
参数:
url :目标网页的 url
返回:目标网页的 html 内容
'''
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}

try:
r = requests.get(url, headers=headers)
r.raise_for_status()
return r.text

except requests.HTTPError as e:
print(e)
print("HTTPError")
except requests.RequestException as e:
print(e)
except:
print("Unknown Error !")
  2.网页解析函数:parse_data(html)
  这个函数是整个爬虫程序的核心所在,整体思路在上一部分早已讲过了。我这儿使用的库是BeautifulSoup。
  这部份的写法多种多样,有很多发挥的空间,也没有哪些太多固定的模式,因为这部份的写法是要随着不同网站的页面结构来做调整的,比如说有的网站提供了数据的 api 接口,那么返回的数据就是 json 格式,我们只须要调用 json 库就可以完成数据解析,而大部分的网站只能通过从网页源代码中一层层筛选(筛选手段也多种多样,什么正则表达式,beautifulsoup等等)。
  这里须要依照数据的方式来选择不同的筛选策略,所以,知道原理就可以了,习惯哪些方式就用哪些方式,反正最后能领到数据就好了。
  
def parse_data(html):
'''
功能:提取 html 页面信息中的关键信息,并整合一个数组并返回
参数:html 根据 url 获取到的网页内容
返回:存储有 html 中提取出的关键信息的数组
'''
bsobj = bs4.BeautifulSoup(html,'html.parser')
info = []

# 获取电影列表
tbList = bsobj.find_all('table', attrs = {'class': 'tbspan'})

# 对电影列表中的每一部电影单独处理
for item in tbList:
movie = []
link = item.b.find_all('a')[1]
# 获取电影的名称
name = link["title"]
# 获取详情页面的 url
url = 'https://www.dy2018.com' + link["href"]
# 将数据存放到电影信息列表里
movie.append(name)
movie.append(url)

try:
# 访问电影的详情页面,查找电影下载的磁力链接
temp = bs4.BeautifulSoup(get_data(url),'html.parser')
tbody = temp.find_all('tbody')

# 下载链接有多个(也可能没有),这里将所有链接都放进来
for i in tbody:
download = i.a.text
movie.append(download)

#print(movie)
# 将此电影的信息加入到电影列表中
info.append(movie)

except Exception as e:
print(e)

return info
  3. 数据储存函数:save_data(data)
  这个函数目的是将数据储存到本地文件或数据库中,具体的写法要按照实际须要的储存方式来定,我这儿是将数据储存在本地的 csv 文件中。
  当然这个函数也并不只能做这些事儿,比如你可以在这里写一些简单的数据处理的操作,比如说:数据清洗,数据去重等操作。
  
def save_data(data):
'''
功能:将 data 中的信息输出到文件中/或数据库中。
参数:data 将要保存的数据
'''
filename = 'Data/电影天堂/动作片.csv'

dataframe = pd.DataFrame(data)
dataframe.to_csv(filename, mode='a', index=False, sep=',', header=False)
  4. 爬虫调度器:main()
  这个函数负责按照 url 生成规则,构造新的 url 请求,然后依次调用网路恳求函数,网页解析函数,数据储存函数,爬取并保存该页数据。
  所谓爬虫调度器,就是控制爬虫哪些时侯开始爬,多少只爬虫一起爬,爬那个网页,爬多久休息一次,等等这种事儿。
  
def main():
# 循环爬取多页数据
for page in range(1, 114):
print('正在爬取:第' + str(page) + '页......')
# 根据之前分析的 URL 的组成结构,构造新的 url
if page == 1:
index = 'index'
else:
index = 'index_' + str(page)
url = 'https://www.dy2018.com/2/'+ index +'.html'
# 依次调用网络请求函数,网页解析函数,数据存储函数,爬取并保存该页数据
html = get_data(url)
movies = parse_data(html)
save_data(movies)

print('第' + str(page) + '页完成!')
  5. 主函数:程序入口
  主函数作为程序的入口,只负责启动爬虫调度器。
  这里我通常习惯在 main() 函数前后输出一条句子,以此判定爬虫程序是否正常启动和结束。
  
if __name__ == '__main__':
print('爬虫启动成功!')
main()
print('爬虫执行完毕!')
  运行了两个小时左右吧,终于爬完了 113 页,共 3346 部动作片影片的数据(本来不止这种的,但是有一些影片没有提供下载链接,我在 excel 中排序后直接自动剔除了)。
  
  
  然后想看哪些影片的话,直接复制这种影片下载的磁力链接,到迅雷上面下载就好啦。
  1. 在网站提供的下载链接中,我试了一下,发现magnet 开头的这类链接置于迅雷中可以直接下载,而 ftp 开头的链接在迅雷中总显示资源获取失败(我不知道是不是我打开的形式不对,反正就是下载不来),于是我对程序做了一些小的调整,使其只获取magnet 这类的链接。
  修改的方法也很简单,只须要调整 网页解析函数 即可(爬虫的五个部份是相对独立的,修改时只需调整相应的模块即可,其余部份无需更改)。
  
def parse_data(html):
'''
功能:提取 html 页面信息中的关键信息,并整合一个数组并返回
参数:html 根据 url 获取到的网页内容
返回:存储有 html 中提取出的关键信息的数组
'''
bsobj = bs4.BeautifulSoup(html,'html.parser')
info = []

# 获取表头信息
tbList = bsobj.find_all('table', attrs = {'class': 'tbspan'})

for item in tbList:
movie = []
link = item.b.find_all('a')[1]
name = link["title"]
url = 'https://www.dy2018.com' + link["href"]

try:
# 查找电影下载的磁力链接
temp = bs4.BeautifulSoup(get_data(url),'html.parser')
tbody = temp.find_all('tbody')

for i in tbody:
download = i.a.text
if 'magnet:?xt=urn:btih' in download:
movie.append(name)
movie.append(url)
movie.append(download)
#print(movie)
info.append(movie)
break
except Exception as e:
print(e)

return info
  注意代码 26 行处,我加了一个 if 语句的判定,如果下载链接中包含magnet:?xt=urn:btih 字符串,则视为有效链接,下载出来,否则跳过。
  2. 我仍然在想能不能有个办法使迅雷一键批量下载我们爬到的影片。使用 python 操纵第三方的软件,这或许很难的。不之后来找到了一种方式,也算是解决了这个问题。
  就是我们发觉迅雷软件启动后,会手动检查我们的剪切板,只要我们复制了下载链接,它便会手动弹出下载的提示框。借助这个思路,我们可以使用代码,将下载的链接复制步入剪切板,等下载框手动出现后,手动确认开始下载(这是我目前想到的最好的办法了,不知道诸位大鳄有没有更好的思路,欢迎指导交流)。
  
import pyperclip
import os
import pandas as pd
imageData = pd.read_csv("Data/电影天堂/动作片2.csv",names=['name','link','download'],encoding = 'gbk')
# 获取电影的下载链接,并用换行符分隔
a_link = imageData['download']
links = '\n'.join(a_link)
# 复制到剪切板
pyperclip.copy(links);
print('已粘贴');

# 打开迅雷
thunder_path = r'D:\Program Files (x86)\Thunder Network\Thunder9\Program\Thunder.exe'
os.startfile(thunder_path)
  亲测可以实现,但是。。。不建议尝试(你能想像迅雷打开的一瞬间创建几百个下载任务的场景吗?反正我的笔记本是缓了好久好久才反应过来)。大家还是老老实实的,手动复制链接下载吧(csv文件可以用 excel 打开网络爬虫下载,竖着选中一列,然后复制,也能达到相同的疗效),这种骚操作很蠢了还是不要试了。
  啰啰嗦嗦的写了很多,也不知道关键的问题讲清楚了没有。有那里没讲清楚,或者那里讲的不合适的话,欢迎恐吓。
  其实吧,写文章,写博客,写教程,都是一个知识重新熔炼内化的过程,在写这篇博客的时侯,我也仍然在反复考量我学习爬虫的过程,以及我爬虫代码一步步的变化,从一开始的所有代码全部揉在主函数中,到后来把一些变动较少的功能提取下来,写成单独的函数,再到后来产生基本稳定的五大部份。
  以至于在我后来学习使用 scrapy 框架时侯,惊人的发觉 scrapy 框架的结构跟我的爬虫结构有着异曲同工之妙,我的这个相当于是一个简易版的爬虫框架了,纯靠自己摸索达到这个疗效,我觉得还是很有成就感的。

panfengzjz的博客

采集交流优采云 发表了文章 • 0 个评论 • 338 次浏览 • 2020-06-04 08:04 • 来自相关话题

  ANONYMOUSLYCN的专栏
  03-03
  
  9259
  python 爬取知乎某一关键字数据
  python爬取知乎某一关键字数据序言和之前爬取Instagram数据一样,那位朋友还须要爬取知乎前面关于该影片的评论。没想到这是个坑洞啊。看起来很简单的一个事情就显得很复杂了。知乎假如说,有哪些事情是最坑的,我觉得就是在知乎前面讨论怎样抓取知乎的数据了。在2018年的时侯,知乎又进行了一次改版啊。真是一个坑洞。网上的代码几乎都不能使用了。只有这儿!的一篇文章还可以模拟登录一......
  Someone&的博客
  05-31
  
  5069
  输入关键字的爬虫方式(运行环境python3)
  前段时间,写了爬虫,在新浪搜索主页面中,实现了输入关键词,爬取关键词相关的新闻的标题、发布时间、url、关键字及内容。并依据内容,提取了摘要和估算了相似度。下面简述自己的思路并将代码的githup链接给出:1、获取关键词新闻页面的url在新浪搜索主页,输入关键词,点击搜索后会手动链接到关键词的新闻界面,想要获取这个页面的url,有两种思路,本文提供三种方式。......
  乐亦亦乐的博客
  08-15
  
  2901
  python爬虫——校花网
  爬取校花网图片校花网步入网站,我们会发觉许多图片,这些图片就是我们要爬取的内容。 2.对网页进行剖析,按F12打开开发着工具(本文使用谷歌浏览器)。我们发觉每位图片都对应着一个路径。 3.我们访问一下img标签的src路径。正是图片的路径,能够获取到图片。因此我们须要获取网页中img标签下所有的s......
  一朵凋谢的菊花
  03-05
  
  386
  Python定向爬虫——校园论坛贴子信息
  写这个小爬虫主要是为了爬校园峰会上的实习信息,主要采用了Requests库
  weixin_34268579的博客
  12-17
  
  4301
  详解怎样用爬虫批量抓取百度搜索多个关键字数据
  2019独角兽企业重金急聘Python工程师标准>>>...
  weixin_33852020的博客
  06-23
  
  313
  如何通过关键词匹配统计其出现的频度
  最近写的一个perl程序,通过关键词匹配统计其出现的频度,让人感受到perl正则表达式的强悍,程序如下:#!/usr/bin/perluse strict;my (%hash,%hash1,@array);while(<>){s/\r\n//;my $line;if(/-(.+?)【(.+?)】【(.+?)】(定单积压)/...
  W&J
  02-10
  
  9415
  python 实现关键词提取
  Python实现关键词提取这篇文章只介绍了Python中关键词提取的实现。关键词提取的几个方式:1.textrank2.tf-idf3.LDA,其中textrank和tf-idf在jieba中都有封装好的函数,调用上去非常简单方便。常用的自然语言处理的库还有nltk,gensim,sklearn中也有封装好的函数可以进行SVD分解和LDA等。LDA也有人分装好了库,直接pipinsta......
  zzz1048506792的博客
  08-08
  
  992
  python爬虫爬取政府网站关键字
  **功能介绍**获取政府招标内容包含以下关键词,就提取该标书内容保存(本地文本)1,汽车采购2、汽车租赁3、公务车4、公务车租赁5、汽车合同供货6、汽车7、租赁爬取网站作者:speed_zombie版本信息:python v3.7.4运行......
  最新陌陌小程序源码
  panfengzjz的博客
  01-01
  
  442
  PYTHON 实现 NBA 赛程查询工具(二)—— 网络爬虫
  前言:第一篇博客,记录一下近来的一点点小成果。一切的学习都从兴趣开始。最近突然想学习一下pyqt和python的网路爬虫知识,于是就自己找了一个课题做了上去。因为我刚好是个 NBA歌迷,就想到了通过网路爬虫来抓取大赛结果,方便本地进行查找的项目。这个项目总共分为三步:1. 界面制做:选择对应的球员,显示球员图标和赛事结果2.网络爬虫:访问特定网页,查找赛季至......
  微信小程序源码-合集1
  panfengzjz的博客
  05-25
  
  4475
  PYTHON 中 global 关键字的用法
  之前写函数的时侯,由于传参实在太多,于是将某个字段定义为全局变量,在函数中直接使用。可是在使用过程中发觉会报错,原因是在另一个调用函数中,该全局变量的类型被更改了,那那边刚好彻底用几个事例来理清一下python中global关键字可以起到的作用。案例一:先说我见到的问题(并没有贴上源代码,下面的事例是自己具象出一个便捷你们理解的小case)程序大约就是这样#error ca......
  panfengzjz的博客
  04-29
  
  1万+
  利用OpenCV-python进行直线测量
  最近须要借助摄像头对细小的偏斜做矫治,由于之前的界面工具是用PyQT所写,在当前的工具中加入摄像头矫治程序,也准备用python直接完成。OpenCV简介:Python处理图象有OpenCV库。OpenCV可以运行在Linux,windows,macOS上,由C函数和C++类构成,用于实现计算机图象、视频的编辑,应用于图象辨识、运动跟踪、机器视觉等领域。Open......
  bensonrachel的博客
  05-18
  
  1728
  python-简单爬虫及相关数据处理(统计出文章出现次数最多的50个词)
  这次爬取了笑傲江湖这本小说;网站是:'#039;+str(696+i)+'.html'考虑到每一章的网址如上递增,所以使用一个循环来遍历网址进行爬取。然后找出文章的标签:如图:是<p>,</p>所以:代码如下:然后爬取以后,存在文档里,进行处理。我用的是nlpir的动词系统:作了处理以后,把所有词存进一list上面。之......
  glumpydog的专栏
  05-14
  
  5880
  python 抓取天涯贴子内容并保存
  手把手教你借助Python下载天涯热门贴子为txt文档 作者:大捷龙csdn : **剖析:天涯的贴子下载可以分为以下几个步骤自动传入一个贴子首页的地址打开文本提取贴子标题获取贴子的最大页数遍历每一页,获得每条回复的是否是楼主、作者爱称、回复时间。写入看文本关掉文本预备:Python的文件操作: 一、...
  cjy1041403539的博客
  04-14
  
  1961
  python微博爬虫——使用selenium爬取关键词下超话内容
  最近微博手机端的页面发生了些微的变化,导致了我之前的两篇文章微博任意关键词爬虫——使用selenium模拟浏览器和来!用python爬一爬“不知知网翟博士”的微博超话中的代码出现了一些报错情况,这里来更改一下欢迎关注公众号:老白和他的爬虫1.微博手机端出现的变化爬取手机端的微博益处在于能否爬取比网页端更多的数据,因为网页端微博内容通常限定在50页,数据量不够大,所以选择爬取手机端,这样可......
  scx2006114的博客
  08-03
  
  5441
  python爬虫之爬取简书中的小文章标题
  学习了三个星期的python基础句型,对python句型有了一个基本的了解,然后想继续深入学习,但不喜欢每晚啃书本,太无趣了,只有实战才是练兵的最好疗效。听说爬虫技术还是比较好玩的,就搞爬虫,但找了很多资料没有找到合适的资料,最后才找到传说中的合适爬虫初学者的书籍《Python3网络爬虫开发实战,崔庆才著》(文末附书本下载链接),学习了一天,终于完整搞出了自己的第一爬虫,哈哈~。......
  zhyh1435589631的专栏
  05-03
  
  8951
  python 爬虫实战 抓取中学bbs相关蓝筹股的回帖信息
  1. 前言之前也由于感兴趣, 写过一个抓取桌面天空上面喜欢的动画墙纸的爬虫代码。这三天忽然听到有人写了那么一篇文章: 爬取易迅本周热销商品基本信息存入MySQL 感觉挺有趣的, 正好临近找工作的季节, 就想着能不能写个爬虫, 把俺们中学bbs前面相关的蓝筹股上面的回帖信息给记录出来。2. 项目剖析首先我们打开我们的目标网页 结...
  jiangfullll的专栏
  05-08
  
  1991
  python爬虫 根据关键字在新浪网站查询跟关键字有关的新闻条数(按照时间查询)
  # -*- coding: utf-8 -*-"""Created on Thu May 8 09:14:13 2014@author: lifeix"""import urllib2import refrom datetime import datetimedef craw1(keyword_name, startYear): a = keyword_name
  c350577169的博客
  05-22
  
  3万+
  python爬虫--如何爬取翻页url不变的网站
  之前准备爬取一个图片资源网站,但是在翻页时发觉它的url并没有改变,无法简单的通过request.get()访问其他页面。据搜索资料,了解到这种网站是通过ajax动态加载技术实现。即可以在不重新加载整个网页的情况下,对网页的某部份进行更新。这样的设置无疑给早期爬虫菜鸟制造了一些困难。1、什么是ajax几个常见的用到ajax的场景。比如你在逛知乎,你没有刷新过网页,但是你却能看到你关注的用户或则话题......
  iteye_17286的博客
  11-20
  
  1071
  如何从文件中检索关键字出现的次数
  首先得到文件的完整路径,然后从流中读取每位字符,如果读出的字符和关键字的第一个字符相同,则根据关键字宽度读取相同个数的字符,分别判定是否相同,若有一个不相同则break,否则计数器count++,最后count的个数即是关键字在文件中出下的次数......
  weixin_34237596的博客
  05-16
  
  280
  [Python爬虫]新闻网页爬虫+jieba分词+关键词搜索排序
  前言近来做了一个python3作业题目,涉及到:网页爬虫网页英文文字提取构建文字索引关键词搜索涉及到的库有:爬虫库:requests解析库:xpath正则:re分词库:jieba...放出代码便捷你们快速参考,实现一个小demo。题目描述搜索引擎的设计与实现输入:腾讯体育的页面链接,以列表的形式作为输入,数量不定,例如:["
  纯洁的笑容
  03-04
  
  14万+
  和黑客斗争的 6 天!
  互联网公司工作爬虫论坛,很难避开不和黑客们打交道,我呆过的两家互联网公司,几乎每月每晚每分钟都有黑客在公司网站上扫描。有的是找寻 Sql 注入的缺口爬虫论坛,有的是找寻线上服务器可能存在的漏洞,大部分都...
  Blessy_Zhu的博客
  03-20
  
  1万+
  Python爬虫之陌陌数据爬取(十三)
  原创不易,转载前请标明博主的链接地址:Blessy_Zhu本次代码的环境:运行平台:WindowsPython版本:Python3.xIDE:PyCharm一、前言陌陌作为我们日常交流的软件,越来越深入到我们的生活。但是,随着陌陌好的数目的降低,实际上真正可以联系的知心人却越来越少了。那么,怎么样能更清......
  07-26
  
  2万+
  使用网页爬虫(高级搜索功能)搜集含关键词新浪微博数据
  作为国外社交媒体的领航者,很遗憾,新浪微博没有提供以“关键字+时间+区域”方式获取的官方API。当我们听到美国科研成果都是基于某关键字获得的微博,心中不免凉了一大截,或者转战脸书。再次建议微博能更开放些!庆幸的是,新浪提供了中级搜索功能。找不到?这个功能须要用户登入能够使用……没关系,下面将详尽述说怎样在无须登陆的情况下,获取“关键字+时间+区域”的新浪微博。...
  路人甲Java
  03-25
  
  9万+
  面试阿里p7,被按在地上磨擦,鬼晓得我经历了哪些?
  面试阿里p7被问到的问题(当时我只晓得第一个):@Conditional是做哪些的?@Conditional多个条件是哪些逻辑关系?条件判定在什么时候执... 查看全部

  ANONYMOUSLYCN的专栏
  03-03
  
  9259
  python 爬取知乎某一关键字数据
  python爬取知乎某一关键字数据序言和之前爬取Instagram数据一样,那位朋友还须要爬取知乎前面关于该影片的评论。没想到这是个坑洞啊。看起来很简单的一个事情就显得很复杂了。知乎假如说,有哪些事情是最坑的,我觉得就是在知乎前面讨论怎样抓取知乎的数据了。在2018年的时侯,知乎又进行了一次改版啊。真是一个坑洞。网上的代码几乎都不能使用了。只有这儿!的一篇文章还可以模拟登录一......
  Someone&的博客
  05-31
  
  5069
  输入关键字的爬虫方式(运行环境python3)
  前段时间,写了爬虫,在新浪搜索主页面中,实现了输入关键词,爬取关键词相关的新闻的标题、发布时间、url、关键字及内容。并依据内容,提取了摘要和估算了相似度。下面简述自己的思路并将代码的githup链接给出:1、获取关键词新闻页面的url在新浪搜索主页,输入关键词,点击搜索后会手动链接到关键词的新闻界面,想要获取这个页面的url,有两种思路,本文提供三种方式。......
  乐亦亦乐的博客
  08-15
  
  2901
  python爬虫——校花网
  爬取校花网图片校花网步入网站,我们会发觉许多图片,这些图片就是我们要爬取的内容。 2.对网页进行剖析,按F12打开开发着工具(本文使用谷歌浏览器)。我们发觉每位图片都对应着一个路径。 3.我们访问一下img标签的src路径。正是图片的路径,能够获取到图片。因此我们须要获取网页中img标签下所有的s......
  一朵凋谢的菊花
  03-05
  
  386
  Python定向爬虫——校园论坛贴子信息
  写这个小爬虫主要是为了爬校园峰会上的实习信息,主要采用了Requests库
  weixin_34268579的博客
  12-17
  
  4301
  详解怎样用爬虫批量抓取百度搜索多个关键字数据
  2019独角兽企业重金急聘Python工程师标准>>>...
  weixin_33852020的博客
  06-23
  
  313
  如何通过关键词匹配统计其出现的频度
  最近写的一个perl程序,通过关键词匹配统计其出现的频度,让人感受到perl正则表达式的强悍,程序如下:#!/usr/bin/perluse strict;my (%hash,%hash1,@array);while(<>){s/\r\n//;my $line;if(/-(.+?)【(.+?)】【(.+?)】(定单积压)/...
  W&J
  02-10
  
  9415
  python 实现关键词提取
  Python实现关键词提取这篇文章只介绍了Python中关键词提取的实现。关键词提取的几个方式:1.textrank2.tf-idf3.LDA,其中textrank和tf-idf在jieba中都有封装好的函数,调用上去非常简单方便。常用的自然语言处理的库还有nltk,gensim,sklearn中也有封装好的函数可以进行SVD分解和LDA等。LDA也有人分装好了库,直接pipinsta......
  zzz1048506792的博客
  08-08
  
  992
  python爬虫爬取政府网站关键字
  **功能介绍**获取政府招标内容包含以下关键词,就提取该标书内容保存(本地文本)1,汽车采购2、汽车租赁3、公务车4、公务车租赁5、汽车合同供货6、汽车7、租赁爬取网站作者:speed_zombie版本信息:python v3.7.4运行......
  最新陌陌小程序源码
  panfengzjz的博客
  01-01
  
  442
  PYTHON 实现 NBA 赛程查询工具(二)—— 网络爬虫
  前言:第一篇博客,记录一下近来的一点点小成果。一切的学习都从兴趣开始。最近突然想学习一下pyqt和python的网路爬虫知识,于是就自己找了一个课题做了上去。因为我刚好是个 NBA歌迷,就想到了通过网路爬虫来抓取大赛结果,方便本地进行查找的项目。这个项目总共分为三步:1. 界面制做:选择对应的球员,显示球员图标和赛事结果2.网络爬虫:访问特定网页,查找赛季至......
  微信小程序源码-合集1
  panfengzjz的博客
  05-25
  
  4475
  PYTHON 中 global 关键字的用法
  之前写函数的时侯,由于传参实在太多,于是将某个字段定义为全局变量,在函数中直接使用。可是在使用过程中发觉会报错,原因是在另一个调用函数中,该全局变量的类型被更改了,那那边刚好彻底用几个事例来理清一下python中global关键字可以起到的作用。案例一:先说我见到的问题(并没有贴上源代码,下面的事例是自己具象出一个便捷你们理解的小case)程序大约就是这样#error ca......
  panfengzjz的博客
  04-29
  
  1万+
  利用OpenCV-python进行直线测量
  最近须要借助摄像头对细小的偏斜做矫治,由于之前的界面工具是用PyQT所写,在当前的工具中加入摄像头矫治程序,也准备用python直接完成。OpenCV简介:Python处理图象有OpenCV库。OpenCV可以运行在Linux,windows,macOS上,由C函数和C++类构成,用于实现计算机图象、视频的编辑,应用于图象辨识、运动跟踪、机器视觉等领域。Open......
  bensonrachel的博客
  05-18
  
  1728
  python-简单爬虫及相关数据处理(统计出文章出现次数最多的50个词)
  这次爬取了笑傲江湖这本小说;网站是:'#039;+str(696+i)+'.html'考虑到每一章的网址如上递增,所以使用一个循环来遍历网址进行爬取。然后找出文章的标签:如图:是<p>,</p>所以:代码如下:然后爬取以后,存在文档里,进行处理。我用的是nlpir的动词系统:作了处理以后,把所有词存进一list上面。之......
  glumpydog的专栏
  05-14
  
  5880
  python 抓取天涯贴子内容并保存
  手把手教你借助Python下载天涯热门贴子为txt文档 作者:大捷龙csdn : **剖析:天涯的贴子下载可以分为以下几个步骤自动传入一个贴子首页的地址打开文本提取贴子标题获取贴子的最大页数遍历每一页,获得每条回复的是否是楼主、作者爱称、回复时间。写入看文本关掉文本预备:Python的文件操作: 一、...
  cjy1041403539的博客
  04-14
  
  1961
  python微博爬虫——使用selenium爬取关键词下超话内容
  最近微博手机端的页面发生了些微的变化,导致了我之前的两篇文章微博任意关键词爬虫——使用selenium模拟浏览器和来!用python爬一爬“不知知网翟博士”的微博超话中的代码出现了一些报错情况,这里来更改一下欢迎关注公众号:老白和他的爬虫1.微博手机端出现的变化爬取手机端的微博益处在于能否爬取比网页端更多的数据,因为网页端微博内容通常限定在50页,数据量不够大,所以选择爬取手机端,这样可......
  scx2006114的博客
  08-03
  
  5441
  python爬虫之爬取简书中的小文章标题
  学习了三个星期的python基础句型,对python句型有了一个基本的了解,然后想继续深入学习,但不喜欢每晚啃书本,太无趣了,只有实战才是练兵的最好疗效。听说爬虫技术还是比较好玩的,就搞爬虫,但找了很多资料没有找到合适的资料,最后才找到传说中的合适爬虫初学者的书籍《Python3网络爬虫开发实战,崔庆才著》(文末附书本下载链接),学习了一天,终于完整搞出了自己的第一爬虫,哈哈~。......
  zhyh1435589631的专栏
  05-03
  
  8951
  python 爬虫实战 抓取中学bbs相关蓝筹股的回帖信息
  1. 前言之前也由于感兴趣, 写过一个抓取桌面天空上面喜欢的动画墙纸的爬虫代码。这三天忽然听到有人写了那么一篇文章: 爬取易迅本周热销商品基本信息存入MySQL 感觉挺有趣的, 正好临近找工作的季节, 就想着能不能写个爬虫, 把俺们中学bbs前面相关的蓝筹股上面的回帖信息给记录出来。2. 项目剖析首先我们打开我们的目标网页 结...
  jiangfullll的专栏
  05-08
  
  1991
  python爬虫 根据关键字在新浪网站查询跟关键字有关的新闻条数(按照时间查询)
  # -*- coding: utf-8 -*-"""Created on Thu May 8 09:14:13 2014@author: lifeix"""import urllib2import refrom datetime import datetimedef craw1(keyword_name, startYear): a = keyword_name
  c350577169的博客
  05-22
  
  3万+
  python爬虫--如何爬取翻页url不变的网站
  之前准备爬取一个图片资源网站,但是在翻页时发觉它的url并没有改变,无法简单的通过request.get()访问其他页面。据搜索资料,了解到这种网站是通过ajax动态加载技术实现。即可以在不重新加载整个网页的情况下,对网页的某部份进行更新。这样的设置无疑给早期爬虫菜鸟制造了一些困难。1、什么是ajax几个常见的用到ajax的场景。比如你在逛知乎,你没有刷新过网页,但是你却能看到你关注的用户或则话题......
  iteye_17286的博客
  11-20
  
  1071
  如何从文件中检索关键字出现的次数
  首先得到文件的完整路径,然后从流中读取每位字符,如果读出的字符和关键字的第一个字符相同,则根据关键字宽度读取相同个数的字符,分别判定是否相同,若有一个不相同则break,否则计数器count++,最后count的个数即是关键字在文件中出下的次数......
  weixin_34237596的博客
  05-16
  
  280
  [Python爬虫]新闻网页爬虫+jieba分词+关键词搜索排序
  前言近来做了一个python3作业题目,涉及到:网页爬虫网页英文文字提取构建文字索引关键词搜索涉及到的库有:爬虫库:requests解析库:xpath正则:re分词库:jieba...放出代码便捷你们快速参考,实现一个小demo。题目描述搜索引擎的设计与实现输入:腾讯体育的页面链接,以列表的形式作为输入,数量不定,例如:["
  纯洁的笑容
  03-04
  
  14万+
  和黑客斗争的 6 天!
  互联网公司工作爬虫论坛,很难避开不和黑客们打交道,我呆过的两家互联网公司,几乎每月每晚每分钟都有黑客在公司网站上扫描。有的是找寻 Sql 注入的缺口爬虫论坛,有的是找寻线上服务器可能存在的漏洞,大部分都...
  Blessy_Zhu的博客
  03-20
  
  1万+
  Python爬虫之陌陌数据爬取(十三)
  原创不易,转载前请标明博主的链接地址:Blessy_Zhu本次代码的环境:运行平台:WindowsPython版本:Python3.xIDE:PyCharm一、前言陌陌作为我们日常交流的软件,越来越深入到我们的生活。但是,随着陌陌好的数目的降低,实际上真正可以联系的知心人却越来越少了。那么,怎么样能更清......
  07-26
  
  2万+
  使用网页爬虫(高级搜索功能)搜集含关键词新浪微博数据
  作为国外社交媒体的领航者,很遗憾,新浪微博没有提供以“关键字+时间+区域”方式获取的官方API。当我们听到美国科研成果都是基于某关键字获得的微博,心中不免凉了一大截,或者转战脸书。再次建议微博能更开放些!庆幸的是,新浪提供了中级搜索功能。找不到?这个功能须要用户登入能够使用……没关系,下面将详尽述说怎样在无须登陆的情况下,获取“关键字+时间+区域”的新浪微博。...
  路人甲Java
  03-25
  
  9万+
  面试阿里p7,被按在地上磨擦,鬼晓得我经历了哪些?
  面试阿里p7被问到的问题(当时我只晓得第一个):@Conditional是做哪些的?@Conditional多个条件是哪些逻辑关系?条件判定在什么时候执...

官方客服QQ群

微信人工客服

QQ人工客服


线