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

Python-网络思维-2.1网络爬虫基础,第1张

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()            

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5652184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存