详解Python爬取并下载《电影天堂》3千多部电影

不知不觉,玩爬虫玩了一个多月了。

我愈发觉得,爬虫其实并不是什么特别高深的技术,它的价值不在于你使用了什么特别牛的框架,用了多么了不起的技术,它不需要。它只是以一种自动化搜集数据的小工具,能够获取到想要的数据,就是它最大的价值。

我的爬虫课老师也常跟我们强调,学习爬虫最重要的,不是学习里面的技术,因为前端技术在不断的发展,爬虫的技术便会随着改变。学习爬虫最重要的是,学习它的原理,万变不离其宗。

爬虫说白了是为了解决需要,方便生活的。如果能够在日常生活中,想到并应用爬虫去解决实际的问题,那么爬虫的真正意义也久发挥出来了。

这是些闲话啦,有感而发而已。

最近有点片荒,不知道该看什么电影,而且有些电影在网上找好久也找不到资源。后来我了解到这个网站,发现最近好多不错的电影上面都有资源(这里我就先不管它的来源正不正规啦,#掩面)。

所以这次我们要爬取的网站是:《电影天堂》,屯一些电影,等无聊的时候拿出来看看,消遣消遣也是不错。

这次的网站,从爬虫的技术角度上来讲,难度不大,而且可以说是非常简单了。但是,它实用啊!你想嘛,早上上班前跑一下爬虫,晚上回家以后已经有几十部最新大片在你硬盘里等着你啦,累了一天躺床上看看电影,这种感觉是不是很爽啊。

而且正因为这个爬虫比较简单,所以我会写的稍微细一点,争取让 python 小白们也能尽可能看懂,并且能够在这个爬虫的基础上修改,得到爬取这个网站其他板块或者其他电影网站的爬虫。

写在前面的话

在编写爬虫程序之前,我先捋一捋我们的思路。

  1. 爬虫的原理,是通过给定的一个 URL(就是类似于 http://www.baidu.com 这样的,俗称网址的东东) 请求,去访问一个网页,获取那个网页上的源代码(不知道源代码的,随便打开一个网页,右键,查看网页源代码,出来的一大堆像乱码一样的东西就是网页源代码,我们需要的数据就藏在这些源代码里面)并返回来。
  2. 然后,通过一些手段(比如说json库,BeautifulSoup库,正则表达式等)从网页源代码中筛选出我们想要的数据(当然,前提是我们需要分析网页结构,知道自己想要什么数据,以及这些数据存放在网页的哪儿,存放的位置有什么特征等)。
  3. 最后,将我们获取到的数据按照一定的格式,存储到本地或者数据库中,这样就完成了爬虫的全部工作。

当然,也有一些 「骚操作」,如果你嫌爬虫效率低,可以开多线程(就是相当于几十只爬虫同时给你爬,效率直接翻了几十倍);如果担心爬取频率过高被网站封 IP,可以挂 IP 代理(相当于打几枪换个地方,对方网站就不知道你究竟是爬虫还是正常访问的用户了);如果对方网站有反爬机制,那么也有一些骚操作可以绕过反爬机制(有点黑客攻防的感觉,有木有!)。这些都是后话了。

爬虫部分

一、分析网站结构(以动作片电影为例)

1. 分析网页的 URL 的组成结构

首先,我们需要分析网页的 URL 的组成结构,主要关注两方面,一是如何切换选择的电影类型,二是网页如何翻页的。

点击网页上的电影类型的按钮,观察地址栏中的 URL ,发现网址和电影类型的关系如下:

电影类型 网址
剧情片 https://www.dy2018.com/0/
喜剧片 https://www.dy2018.com/1/
动作片 https://www.dy2018.com/2/
爱情片 https://www.dy2018.com/3/
科幻片 https://www.dy2018.com/4/
动画片 https://www.dy2018.com/5/
悬疑片 https://www.dy2018.com/6/
惊悚片 https://www.dy2018.com/7/
恐怖片 https://www.dy2018.com/8/
记录片 https://www.dy2018.com/9/
...... ......
灾难片 https://www.dy2018.com/18/
武侠片 https://www.dy2018.com/19/
古装片 https://www.dy2018.com/20/

发现规律了吧,以后如果想爬其他类型的电影,只要改变 url 中的数字即可,甚至你可以写一个循环,把所有板块中的电影全部爬取下来。

随便打开一个分类,我们滚动到页面的最下面,发现这里有翻页的按钮,点击按钮翻页的同时,观察 url 的变化。

页码 URL
第一页 https://www.dy2018.com/2/index.html
第二页 https://www.dy2018.com/2/index_2.html
第三页 https://www.dy2018.com/2/index_3.html
第四页 https://www.dy2018.com/2/index_4.html

除了第一页是 「index」外,其余页码均是 「index_页码」的形式。

所以我们基本掌握了网站的 url 的构成形式,这样我们就可以通过自己构造 url 来访问任意类型电影的任意一页了,是不是很酷。

2. 分析网站的页面结构

其次,我们分析一下网站的页面结构,看一看我们需要的信息都藏在网页的什么地方(在这之前我们先要明确一下我们需要哪些数据),由于我们这个目的是下载电影,所以对我有用的数据只有两个,电影名称和下载电影的磁力链接。

按 F12 召唤出开发者工具(这个工具可以帮助你快速定位网页中的元素在 html 源代码中位置)。

然后,我们可以发现,电影列表中,每一部电影的信息存放在一个 <table> 标签里,而电影的名字,就藏在里面的一个 <a> 标签中。电影下载的磁力链接在电影的详情页面,而电影详情页面的网址也在这个 <a> 标签中( href 属性的值)。

而下载的磁力链接,存放在 <tbody> 标签下的 <a> 标签中,是不是很好找啊!

最后我们来缕一缕思路,一会儿我们准备这样操作:通过前面的网址的构造规则,访问到网站的某一页,然后获取到这个页面里的所有 table 标签(这里存放着电影的数据),然后从每一个 table 标签中找到存有电影名称的 a 标签(这里可以拿到电影名称以及详情页面的网址),然后通过这里获取的网址访问电影的详情页面,在详情页面挑选出 <tbody> 标签下的 <a> 标签(这里存放着电影的下载链接),这样我们就找到了我们所需要的全部数据了,是不是很简单啊。

二、爬虫编码阶段 

爬虫的程序,我一般习惯把它分成五个部分, 一是主函数,作为程序的入口,二是爬虫调度器,三是网络请求函数,四是网页解析函数,五是数据存储函数。

  1. get_data :其参数是目标网页 url,这个函数可以模拟浏览器访问 url,获取并将网页的内容返回。
  2. parse_data :其参数是网页的内容,这个函数主要是用来解析网页内容,筛选提取出关键的信息,并打包成列表返回。
  3. save_data :其参数是数据的列表,这个函数用来将列表中的数据写入本地的文件中。
  4. main :这个函数是爬虫程序的调度器,可以根据事先分析好的 url 的规则,不断的构造新的请求 url,并调用其他三个函数,获取数据并保存到本地,直到结束。
  5. if __name__ == '__main__' :这是主程序的入口,在这里调用 main 函数,启动爬虫调度器即可。
# 我们用到的库
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爬取并下载《电影天堂》3千多部电影详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Python爬虫——爬取豆瓣电影Top250代码实例

    利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Excel表中.基本上爬取结果还是挺好的.具体代码如下: #!/usr/bin/python #-*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') from bs4 import BeautifulSoup imp

  • 使用Python多线程爬虫爬取电影天堂资源

    最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行下载.刚开始学习python希望可以获得宝贵的意见. 先来简单介绍一下,网络爬虫的基本实现原理吧.一个爬虫首先要给它一个起点,所以需要精心选取一些URL作为起点,然后我们的爬虫从这些起点出发,抓取并解析所抓取到的页面,将所需要的信息提取出来,同时获得的新的URL插入到队列中作为下一次爬取的起点.这样不断地循环,一直到获得你想得到的所有的信息爬虫的任务

  • python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比

    前言 还有一年多就要毕业了,不准备考研的我要着手准备找实习及工作了,所以一直没有更新. 因为Python是自学不久,发现很久不用的话以前学过的很多方法就忘了,今天打算使用简单的BeautifulSoup和一点正则表达式的方法来爬一下top100电影,当然,我们并不仅是使用爬虫爬取数据,这样的话,数据中存在很多的对人有用的信息则被忽略了.所以,爬取数据只是开头,对这些数据根据意愿进行分析,或许能有额外的收获. 注:本人还是Python菜鸟,若有错误欢迎指正 本次我们爬取时光网(http://www

  • python正则表达式爬取猫眼电影top100

    用正则表达式爬取猫眼电影top100,具体内容如下 #!/usr/bin/python # -*- coding: utf-8 -*- import json # 快速导入此模块:鼠标先点到要导入的函数处,再Alt + Enter进行选择 from multiprocessing.pool import Pool #引入进程池 import requests import re import csv from requests.exceptions import RequestException

  • python使用requests模块实现爬取电影天堂最新电影信息

    requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到.可以说,Requests 完全满足如今网络的需求.本文重点给大家介绍python使用requests模块实现爬取电影天堂最新电影信息,具体内容如下所示: 在抓取网络数据的时候,有时会用正则对结构化的数据进行提取,比如 href="https://www.1234.com"等.python的re模块的findall()函数会返回一个所有匹配到的内容的列表,在将数据存入数据库时,列表数据

  • 一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息

    概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识. 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web站点的行为来获取有价值的数据.专业的解释:百度百科 分析爬虫需求 确定目标 爬取豆瓣热度在Top100以内的电影的一些信息,包括电影的名称.豆瓣评分.导演.编剧.主演.类型.制片国家/地区.语言.上映日期.片长.IMDb链接等信息. 分析目标 1.借助工具分析目标网页 首先,我们打开豆瓣电影·热门电影,会发现页面总共20部

  • 详解Python爬取并下载《电影天堂》3千多部电影

    不知不觉,玩爬虫玩了一个多月了. 我愈发觉得,爬虫其实并不是什么特别高深的技术,它的价值不在于你使用了什么特别牛的框架,用了多么了不起的技术,它不需要.它只是以一种自动化搜集数据的小工具,能够获取到想要的数据,就是它最大的价值. 我的爬虫课老师也常跟我们强调,学习爬虫最重要的,不是学习里面的技术,因为前端技术在不断的发展,爬虫的技术便会随着改变.学习爬虫最重要的是,学习它的原理,万变不离其宗. 爬虫说白了是为了解决需要,方便生活的.如果能够在日常生活中,想到并应用爬虫去解决实际的问题,那么爬虫的

  • 详解python爬取弹幕与数据分析

    很不幸的是,由于疫情的关系,原本线下的AWD改成线上CTF了.这就很难受了,毕竟AWD还是要比CTF难一些的,与人斗现在变成了与主办方斗. 虽然无奈归无奈,但是现在还是得打起精神去面对下一场比赛.这个开始也是线下的,决赛地点在南京,后来是由于疫情的关系也成了线上. 当然,比赛内容还是一如既往的得现学,内容是关于大数据的. 由于我们学校之前并没有开设过相关培训,所以也只能自己琢磨了. 好了,废话先不多说了,正文开始. 一.比赛介绍 大数据总体来说分为三个过程. 第一个过程是搭建hadoop环境.

  • 详解python 爬取12306验证码

    一个简单的验证码爬取程序 本文介绍了在Python2.7环境下爬取网站验证码: 思路就是获取验证码对应的url,然后发起requst请求,读取该URL对应的内容,然后写入到一个本地文件,实现一个验证码的保存.大量下载可以把以上程序写入一个死循环 代码实现部分: import ssl import urllib2 i=1 import time while(1): #不加的话,无法访问12306 ssl._create_default_https_context = ssl._create_unv

  • 详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?

    今年五一放了四天假,很多人不再只是选择周边游,因为时间充裕,选择了稍微远一点的景区,甚至出国游.各个景点成了人山人海,拥挤的人群,甚至去卫生间都要排队半天,那一刻我突然有点理解灭霸的行为了. 今天通过分析去哪儿网部分城市门票售卖情况,简单的分析一下哪些景点比较受欢迎,等下次假期可以做个参考. 抓取数据 通过请求https://piao.qunar.com/ticket/list.htm?keyword=北京,获取北京地区热门景区信息,再通过BeautifulSoup去分析提取出我们需要的信息.

  • python爬取音频下载的示例代码

    抓取"xmly"鬼故事音频 import json # 在这个url,音频链接为JSON动态生成,所以用到了json模块 import requests headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36" } # 请求网页

  • Python爬取APP下载链接的实现方法

    首先是准备工作 Python 2.7.11:下载python Pycharm:下载Pycharm 其中python2和python3目前同步发行,我这里使用的是python2作为环境.Pycharm是一款比较高效的Python IDE,但是需要付费. 实现的基本思路 首先我们的目标网站:安卓市场 点击[应用],进入我们的关键页面: 跳转到应用界面后我们需要关注三个地方,下图红色方框标出: 首先关注地址栏的URL,再关注免费下载按钮,然后关注底端的翻页选项.点击"免费下载"按钮就会立即下

  • python 爬取小说并下载的示例

    代码 import requests import time from tqdm import tqdm from bs4 import BeautifulSoup """ Author: Jack Cui Wechat: https://mp.weixin.qq.com/s/OCWwRVDFNslIuKyiCVUoTA """ def get_content(target): req = requests.get(url = target) r

  • 详解Python静态网页爬取获取高清壁纸

    前言 在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤 一般地,我们去网上批量打开壁纸的时候一般操作如下: 1.打开壁纸网页 2.单击壁纸图(打开指定壁纸的页面) 3.选择分辨率(我们要下载高清的图) 4.保存图片 实际操作时,我们实现了如下几步网页地址的访问:打开了壁纸的网页→单击壁纸图打开指定页面→选择分辨率,点击后打开最终保存目标图片网页→保存图片 在爬虫的过程中我们就尝试通过模拟浏览器打开网页的操作,一步步获得.访问网页.最后获得目标图片的下载地址,对图片进行下载保存到

  • 详解使用python爬取抖音app视频(appium可以操控手机)

    记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 思路: 假设已经配置好我们所需要的工具 1.使用mitmproxy对手机app抓包获取我们想要的内容 2.利用appium自动化测试工具,驱动app模拟人的动作(滑动.点击等) 3.将1和2相结合达到自动化爬虫的效果 一.mitmproxy/mitmdump抓包 确保已经安装好了mitmproxy,并

  • 用python爬取分析淘宝商品信息详解技术篇

    目录 背景介绍 一.模拟登陆 二.爬取商品信息 1. 定义相关参数 2. 分析并定义正则 3. 数据爬取 三.简单数据分析 1.导入库 2.中文显示 3.读取数据 4.分析价格分布 5.分析销售地分布 6.词云分析 写在最后 Tip:本文仅供学习与交流,切勿用于非法用途!!! 背景介绍 有个同学问我:"XXX,有没有办法搜集一下淘宝的商品信息啊,我想要做个统计".于是乎,闲来无事的我,又开始琢磨起这事- 一.模拟登陆 兴致勃勃的我,冲进淘宝就准备一顿乱搜: 在搜索栏里填好关键词:&qu

随机推荐