爬猫眼

import requests
import re
from bs4 import BeautifulSoup

def getHTML(url):  # 得到网页


    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
                             '(KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'}  # 猫眼网防扒了,所以改了一下头,让其认为自己不是计算机
    html = requests.get(url, headers=headers)
    html.encoding = "UTF-8"
    return html.text
def fenxi(html,g):  # 网页的分析
    infoDICT = {}
    name = []
    star = []
    time = []
    soup = BeautifulSoup(html, "html.parser")
    soup = soup.find_all("dd")  # 搜索dd标签
    for i in soup:
        c = i.find_all('p', attrs={'class': "name"})[0].string  # 这里是对'p', attrs={'class': "name"}标签进行搜索.string可以直接去除其中的字符
        s = i.find_all('p', attrs={'class': "star"})[0].string.split()
        t = i.find_all('p', attrs={'class': "releasetime"})[0].string
        name.append(c)
        star.append(s[0])
        time.append(t)
    with open(r"F:\t.txt", "a",encoding='utf-8') as f:  # 用a写入要不然不支持,即未见写入不支持str类型
        for i in range(len(name)):
            f.write(str(g)+str(i)+" "+str(name[i])+" " +str(time[i]) +" "+ str(star[i]) +  "\n")
    print(name, star, time)

def main():
    for i in range(0,10):
        url = "http://maoyan.com/board/4?offset=0"+str(i)+"0"
        html = getHTML(url)
        fenxi(html,i)
main()

爬虫关键时理解find_all的返回类型与正则表达,还有反扒,其余的基本固定
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值