栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python-网络思维-2.1网络爬虫基础

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-网络思维-2.1网络爬虫基础

这是一个爬取电影票房的案例,主要是通过 中国电影票房 获取电影票房信息,将获得到的内容保存至 .txt 文件。
# 首先我们需要导入 requests 库
import requests
# 导入 BeautifulSoup 库
from bs4 import BeautifulSoup
url = 'http://58921.com/alltime?page='
#网页基本url,需要在后面连接页面号
headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3776.400 QQBrowser/10.6.4212.400'
    }
aulist=[]#存放所有电影信息的二维列表
def movie_get():
#请在下面的 Begin-End 之间按照注释中给出的提示编写正确的代码

#######################  begin ###########################
# 通过 for 循环的方式,修改 url 的链接,使得程序可以访问多个页面
# 爬取两个页面的内容,解析出排名、片名、年份,存入aulist列表
    for i in range(2):
        r = requests.get(url=url+str(i), headers=headers)
        r.encoding = 'utf-8'
    # 解析 requests 返回的响应结果
        soup=BeautifulSoup(r.text,"lxml")      
        ltr=soup.find_all("tr")#找到所有电影(表格行)
        for tr in ltr:
            ltd=tr.find_all("td")#找到行内所有单元格
            if len(ltd)==0:#如果无内容,访问下一行
                continue
            sli=[]#初始化一维列表,用来存放一行数据
            for i in [1,2,6]:#只提取排名,片名,年份
                sli.append(ltd[i].text)#读取单元格内容
            aulist.append(sli)#二维列表增加一行
 
######################## end ############################

#请在下面的 Begin-End 之间按照注释中给出的提示编写正确的代码
def movie_write():
########################begin###########################
#保存到当前目录下的movies.txt文件, 
    with open('movies.txt','w') as f1:
        for x in aulist:
            f1.write(x[0]+'|'+x[1]+'|'+x[2]+'n')
      
######################## end ###########################
movie_get()
movie_write()            

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号