python爬虫爬取豆瓣电影信息 - Go语言中文社区

python爬虫爬取豆瓣电影信息


我们准备使用python的requests和lxml库,直接安装完之后开始操作

目标爬取肖申克救赎信息->传送门

导入库

import requests
from lxml import etree

给出链接

url=‘https://movie.douban.com/subject/1292052/?tag=%E7%BB%8F%E5%85%B8&from=gaia_video’

获取网页html前端代码一行搞定,在requests中已经封装好了

data = requests.get(url).text

lxml库中封装了解析下载页面数据的函数

s = etree.HTML(data)

然后我们到豆瓣中获取需要爬取数据的xpath
在这里插入图片描述
右键->copy->xpath我们就拿到了这样的一串数据

//*[@id="content"]/h1/span[1]

然后我们获取数据内容

film = s.xpath('//*[@id="content"]/h1/span[1]/text()')

注意最后面的/text()是获取文本类型的数据不然会出错
最后直接print(film)即可

完整代码如下

import requests
from lxml import etree
url = 'https://movie.douban.com/subject/1292052/?tag=%E7%BB%8F%E5%85%B8&from=gaia_video'    # 定义url
data = requests.get(url).text   # 获取全部html
s = etree.HTML(data)

film = s.xpath('//*[@id="content"]/h1/span[1]/text()')
print(film)

进阶

接下来我们想爬取主演
在演员上右键copy -> copy xpath
我们会有这样一串xpath

//*[@id="info"]/span[3]/span[2]/span[1]/a
//*[@id="info"]/span[3]/span[2]/span[2]/a
//*[@id="info"]/span[3]/span[2]/span[3]/a
……

我们发现这一组xpath似乎是封装在一个大的span标签数组之中,所以我们直接取拿span[2]里面的a/text()

actor = s.xpath('//*[@id="info"]/span[3]/span[2]/a/text()')

我们获得了以下的运行结果,直接可以获取列表中的全部标签(删去最后的span数组和a标签)之后我们可以直接拿到当前页面的所有的电影名称。
在这里插入图片描述
这里需要注意,因为当前我们联系的豆瓣网页中所有的电影的标签都是封装在

  • 标签之中的所以他们的@title内容可以通过直接访问父数组得到
  • 看代码

    import requests
    from lxml import etree
    
    url = 'https://movie.douban.com/top250'    # 定义url
    data = requests.get(url).text   # 获取全部html
    s = etree.HTML(data)
    film = s.xpath('//*[@id="content"]/div/div[1]/ol/li')   # 拿到所有的li标签
    
    for div in film:
        film_name = div.xpath('./div/div[2]/div[1]/a/span[1]/text()')[0]    # [0]的u作用  因为获取到的事list列表所以用这个来获取str
        film_score= div.xpath('./div/div[2]/div[2]/div/span[2]/text()')[0]
        film_msg = div.xpath('./div/div[2]/div[2]/p[2]/span/text()')[0]
        print('{} {} {}'.format(film_name,film_score,film_msg))     # 格式化输出
    

    运行结果
    在这里插入图片描述
    这个代码可以直接拿过去用,自己可以运行试一试。

    爬取所有的top250电影信息

    过几天再写。。。。

    版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
    原文链接:https://blog.csdn.net/qq_42730789/article/details/89481129
    站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

    0 条评论

    请先 登录 后评论

    官方社群

    GO教程

    猜你喜欢