python 爬虫 豆瓣韩国电影

import requests
from bs4 import BeautifulSoup
import bs4
import re
def getHTMLText(url):
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""


def fillUnivList(ulist,rlist,html):
    count=0
    soup = BeautifulSoup(html,"html.parser")
    for tg in soup.find_all("div",attrs ={"class":"pl2"}):

        name = tg.find("a")
        ulist.append(name.text.split()[0])

        if tg.find_all("span",attrs={"class":"rating_nums"}):
            rate = tg.find("span",attrs={"class":"rating_nums"})
            rlist.append(rate.text)
        else:
            rlist.append("无评价")

        print ("{}  :   {}".format(ulist[count],rlist[count]))
        count+=1





def main():
    sumz=0
    lst=[]
    while sumz<=980:
        lst.append(sumz)
        sumz=sumz+20
    for n in lst:
        uinfo = []
        rinfo=[]
        url = "https://movie.douban.com/tag/%E9%9F%A9%E5%9B%BD?start="+str(n)+"&type=S"
        html = getHTMLText(url)
        fillUnivList(uinfo,rinfo, html)



main()

re.compile是表示一组字符串,
1、for tg in soup.find_all(re.compile(“name”))
默认遍历标签的名称,没有则返回[]

2、for tg in soup.find_all(id=recompile(“???”))
默认遍历标签的属性,匹配则返回含该属性标签

3、for tg in soup.find_all(“div”,”pl2”)
默认遍历含属性值含”pl2”字符串,名称为”div”的标签,返回标签

4、for tg in soup.find_all(string=”>>>”)
遍历标签内的string文本,返回文本

5、若直接使用soup.find_all(re.compile(“abc”))
name中含abc 的均返回
其他同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值