熊猫打字 发表于 2020-4-27 15:58:43

多个函数的参数如何设置?(自己写的爬虫无法运行)

本帖最后由 熊猫打字 于 2020-4-27 16:00 编辑

求问,要爬取论坛某一页的帖子里所有图片,我写了如下的程序,并整理成函数,但是函数的参数不会设置,一直无法运行。
比如def openurl(url)   括号里为什么写url,后面几个函数的()里面应该怎么写?放上我的代码,请大佬们帮助{:5_111:}
加入要爬取:【http://bbs.tianya.cn/list-39-1.shtml】这个网站里,所有帖子里的图片。
import urllib.request as ur
import re
import chardet

def openurl(url):                     #打开网页的函数
    req = ur.Request(url)
    req.add_header('user-agent', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36')
    response = ur.urlopen(req)
    html = response.read()
    return html

def encodeurl(url):                     #获取网页编码的函数
    html = openurl(url)
    encode = chardet.detect(html)['encoding']
    if encode=='GB2312':
      encode = 'GBK'
    htmlcode=html.decode(encode)
    return htmlcode

def getpageurl(url):                  #获取要爬取论坛下所有帖子的网址
    url = 'https://www.论坛主版面.com'            #假如这个是某论坛一个板块,也就是要爬取的网址
    htmlcode = encodeurl(url)      #对该网页进行解码
    a = r'查找该版下所有的帖子链接的表达式正则表达式'         #获取要爬取论坛下所有帖子的网址
    pageurls=[]
    pages = re.findall(a,htmlcode)            #将帖子网址存入列表
    return pages
   
def findimg(url):            #获取帖子里所有图片的网址
    pages=getpageurl(url)
    for each in pageurls:
      htmlcode = encodeurl(each)          #打卡帖子并解码
      b = r"查找某帖子里图片的正则表达式"          #查找某帖子里图片的正则表达式
      piclists = re.findall(b,htmlcode)         #将帖子里图片地址存入列表
    return piclists
   
def savingpic():          #保存相关图片
    pcilists = findimg(url)
    for i in range(len(piclists)):
      html = openurl(piclists)      #依次读取图片地址
      file = str(i)+'.jpg'   #新建图片文件
      with open(file,'wb') as f:
            f.write(html)      #将读取的图片以二进制存入文件
            
if __name__ == '__main__':
    savingpic()

永恒的蓝色梦想 发表于 2020-4-27 16:02:45

你想让他传什么你就怎么写啊???

熊猫打字 发表于 2020-4-27 16:09:37

永恒的蓝色梦想 发表于 2020-4-27 16:02
你想让他传什么你就怎么写啊???

我对这个各个函数之间的()的参数怎么写一点也不懂,求帮忙更正,我按照正确的理解一下{:5_100:}

永恒的蓝色梦想 发表于 2020-4-27 16:10:20

熊猫打字 发表于 2020-4-27 16:09
我对这个各个函数之间的()的参数怎么写一点也不懂,求帮忙更正,我按照正确的理解一下

你自己写的函数你不知道参数是做什么用的?那我怎么知道?

熊猫打字 发表于 2020-4-27 16:11:31

永恒的蓝色梦想 发表于 2020-4-27 16:10
你自己写的函数你不知道参数是做什么用的?那我怎么知道?

好吧,我再回去学学函数那一节{:5_92:}

_2_ 发表于 2020-4-27 20:55:21

永恒的蓝色梦想 发表于 2020-4-27 16:10
你自己写的函数你不知道参数是做什么用的?那我怎么知道?

参数秀儿
页: [1]
查看完整版本: 多个函数的参数如何设置?(自己写的爬虫无法运行)