用Python爬取豆瓣1~10页内容

用Python爬取豆瓣1~10页内容

建立excel并存入爬取的数据的函数
def cun(a,f,c,d):
    import pandas as pd	#存入excel需用到的函数库
    #表格路径
    io = r"D:\Python\ee.xlsx"	#excel路径
    df = pd.DataFrame({'电影': a,'导演': f,'公布时间':c,'评分':d})
    #将数据写入表格
    df.to_excel(io, sheet_name="工资表")  #可覆盖之前保存的数据
    print("完成")
#拿到页面源代码 需要用requests
#通过re来提取想要的有效信息  re
import requests
import re

#定义4个空列表
list1=[]
list2=[]
list3=[]
list4=[]

#定义变量
a=0 

#
def html(i):

	#拿到网页链接
    url = "https://movie.douban.com/top250?start="+str(i)+"&filter="

	#打印1~10的网页链接
    print(url)

    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36 SLBrowser/6.0.1.3091"}
    a = requests.get(url, headers=headers)
    
    # 拿到页面源代码
    p = a.text  

	# 查找网页相关的数据
    obj = re.compile(
        r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)</span>.*?<p class="">(?P<daoyang>.*?)&nbsp.*?<br>(?P<year>.*?)&nbsp.*?'
        r'<span class="rating_num" property="v:average">(?P<pingfen>.*?)</span>', re.S)
        
      #定义result为全局变量
    global result	

	#解析相关网页数据
    result = obj.finditer(p)

#爬取1~10网页内容	
for x in range(10):	
    html(a)					#函数
    a=a+25				
    for it in result:
        list1.append(it.group("name"))	#拿到网页解析之后自己需要的结果
       
        list2.append(it.group("daoyang").strip())	#拿到网页解析之后自己需要的结果
       
        list3.append(it.group("year").strip())#拿到网页解析之后自己需要的结果
        list4.append(it.group("pingfen"))#拿到网页解析之后自己需要的结果
  print(a)
cun(list1,list2,list3,list4)#执行所有程序


  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

种槐树中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值