• 大小: 3KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Python
  • 标签:

资源简介

注释详细,帮助短时间消化学会使用python3爬虫,了解并学习使用requests、lxml、xlwt库。实列中以爬豆瓣电影为例,并下载到表格中。

资源截图

代码片段和文件信息

import requests
from lxml import etree
import time
#xlwt用于写入数据到表格中
import xlwt

header1 = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/63.0.3239.132 Safari/537.36‘}

header2 = {‘User-Agent‘:‘Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.0;Trident/4.0)‘}

#获得最大页码,用于循环下载页码和取出数据
def get_maxNumber(url):
    r = requests.get(urlheaders=header1timeout=5).text

    #使用lxml库
    selector = etree.HTML(r)
    #获得页码的列表,注意 .xpath(‘‘)找到的数字和文字或者混合的,都需要在后面加/text()
    pageNumber_list = selector.xpath(‘//div[@class=“paginator“]/a/text()‘)
    #从页码列表弹出最后一个页码,即最大页码,这个页码是str类型,需转换成int类型
    numberMax = int(pageNumber_list.pop())
    return numberMax

names = []
rates =[]
peopleCounts = []
directors=[]
dates = []
countrys = []
typeMovies = []

def main():
    start_url = ‘http://movie.douban.com/top250‘

    page = get_maxNumber(start_url)

    for x in range(1page+1):
        url = ‘https://movie.douban.com/top250?start=‘ + str(25*(x-1)) +‘&filter=‘

        response = requests.get(urlheaders=header2timeout=5).text

        s = etree.HTML(response)
        #获得电影名字列表
        name_list = s.xpath(‘//ol/li/div/div[2]/div[1]/a/span[1]/text()‘)
        #将电影名字列表extend到主列表names中
        names.extend(name_list)

        rate_list = s.xpath(‘//ol/li/div/div[2]/div[2]/div/span[2]/text()‘)
        rates.extend(rate_list)

        peopleCount_list = s.xpath(‘//ol/li/div/div[2]/div[2]/div/span[4]/text()‘

评论

共有 条评论

相关资源