采集豆瓣豆瓣电影top 250

第一步:先进行分析
打开网址:
https://movie.douban.com/top250?start=0&filter=

鼠标右键点击审查元素:

十行代码获取豆瓣电影数据-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客
十行代码获取豆瓣电影数据-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

要获取的就是排名,缩略图, 电影名称 ,外加一个评分

打开Pycharm 的ide 新建一个文件:

# -*- coding: utf-8 -*-
"""
@Time: 2018/1/15
@Author: songhao
@微信公众号: zeropython
@File: index.py
"""
import requests
from pyquery import PyQuery as pq

导入用到库名称

requests是用来网站请求,pyquery用来作为选择器。

请求网址源码:

url = "https://movie.douban.com/top250?start=0&filter="
html = requests.get(url).text

requests获取到一个页面的源代码,然后需要用pq进行选择器选择pq(html)('.item').items(),进行迭代,

 for item in pq(html)('.item').items():
        print(item)
十行代码获取豆瓣电影数据-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

再次对item选择出 title num star img

   for item in pq(r.text)('.item').items():
        title = item.find('.title').html()
        # #  <span class="title">肖申克的救赎</span><span class="title"> / The Shawshank Redemption</span>
        # #  返回第一个 .title里面的内容
        num = item.find('.pic em').text()
        star = item.find('.rating_num').text()
        img = item.find('.pic a img').attr('src')
        # 获取属性是src 的值
十行代码获取豆瓣电影数据-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

最后一步,现在是请求的一个页面,咱们要请求的所有的页面:

https://movie.douban.com/top250?start=0
https://movie.douban.com/top250?start=25
https://movie.douban.com/top250?start=50
https://movie.douban.com/top250?start=75
https://movie.douban.com/top250?start=100
https://movie.douban.com/top250?start=125
https://movie.douban.com/top250?start=150
https://movie.douban.com/top250?start=175
https://movie.douban.com/top250?start=200
https://movie.douban.com/top250?start=225
[code]

找个规律 从零开始 到 225结束,而且步长是 25.大家很容易想到 range(初始值,结束值,步长)

所以就可以构造url了

for page_num in range(0, 250 ,25):
    url = 'https://movie.douban.com/top250?start={}'.format(page_num)
    print(url)

完整的代码是:

十行代码获取豆瓣电影数据-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客
HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客