网络爬虫之豆瓣电影

网络爬虫常用方法

Python作为最易上手的编程语言之一,在很多领域的应用已经相对成熟,尤其是一些工具应用类的场景,比如本文要介绍的网络爬虫。网络爬虫目前比较成熟的方法有三种,在Python中都有现有打包好的包/库,直接调用,非常方便。本篇博客只关注网络爬虫的应用层面,重点放在如何解决实际问题,所以对三种方法的理论介绍不做过多描述。

  • BeautifulSoup
  • XPath
  • lxml

BeautifulSoup

Python中的一个HTML/XML的解析库,可以很方便地从网页中提取数据,自动将输入文档换成Unicode编码,输出文档转化成UTF-8编码。

导包

from bs4 import BeautifulSoup

转化本地文件

XXX = BeautifulSoup(open('本地文件'),'lxml')

转化网络文件

XXX = BeautifulSoup('字符串类型或者字节类型','lxml')

打印XXX对象显示出来的就是html文件中的内容

XPath

Python中一款高性能 HTML/XML 解析器,利用XPath可以快速定位特定元素,获取节点信息。

导包

from lxml import etree

解析语法方式1

XXX = etree.HTML('index.html')

解析语法方式2

XXX = etree.parse('index.html')

XPath通配符

通配符 描述
* 匹配任何元素节点
@* 匹配任何属性节点
node() 匹配任何类型的节点

lxml

也是Python中一个常用的 HTML/XML 解析器,可以跟XPath联合使用。

相关介绍参见XPath与lxml库介绍及爬虫案例

案例

之前在某厂实习,偶尔需要爬一下一些电影在豆瓣上的相关信息,通常这些电影的豆瓣ID都是已知的,就以这个为例吧。直接附上代码,思路比较清晰,有点基础的人应该都可以看懂,实在不懂也可以直接copy过去使用。后续会不定期更新一些视频业务线可能会用到的爬虫小案例,比如一些视频网站上视频信息爬取、评论爬取、用户信息爬取等等吧,同样可直接copy使用。如果有类似需求,可以在评论区回复需求,我会定期整理发出来。
这个案例中关注的电影豆瓣信息包括链接、片名、导演、演员、类型、地区、上映日期、别名、豆瓣评分、评分人数、介绍,如果还需要别的信息,可以自行完善代码,也可在评论区补充需求,我定期完善更新。

代码

该例中用的是BeautifulSoup方法。使用其他方法结构都是类似的,只是解析方法不同,可以自行修改。

# 已知豆瓣ID时,爬取影片基本信息
# 把已知的豆瓣ID存到项目文件中的'dubanIDs.xlsx'文件中即可,程序运行时自动导入该文件
import random
import numpy as np
from bs4 import BeautifulSoup #解析包
import requests #请求包
import pandas as pd
import json
import time # 可用于设置休眠时间,控制爬虫频率
from threading import Thread   

User_Agents =[
    'Mozilla/5.0 (Macintosh; U; Intel Mac OS X
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值