zjh100 发表于 2020-5-30 09:59:26

关于爬图片更换page的疑问

我企图爬百度贴吧,代码在单一page 已经可以运行,然而一面只有30张图
我需要更换page
但是无论在搜索引擎上看第二页网址,还是通过审查元素去看,都好像与第一页没有区别
求教

Twilight6 发表于 2020-5-30 10:04:16



用for循环,50*page 作为url 来访问

给你看下当时我爬的代码:
from urllib.request import Request,urlopen
from urllib.parse import urlencode
from fake_useragent import UserAgent

def get_html(url):
    headers = {
      'User-Agent':UserAgent().chrome
    }
    request = Request(url,headers=headers)
    response = urlopen(request)
    return response.read()

def save_html(filename,html_bytes):

    with open(filename,'wb') as f :
      f.write(html_bytes)


def main():
    content = input('请输入要下载的内容:')
    while True:
      try:
            num = int(input('请输入要下载多少页:'))
            break
      except TypeError:
            print('你输入的页数不是整数!请重新输入!')
    base_url = 'https://tieba.baidu.com/f?ie=utf-8&{}'
    for pn in range(num):
      args = {
            'pn':pn*50,
            'kw':content,
      }
      filename = '第'+str(pn + 1)+'页.html'
      args = urlencode(args)
      print('正在下载'+filename)
      html_bytes = get_html(base_url.format(args))
      save_html(filename,html_bytes)



if __name__ == '__main__' :
    main()

zjh100 发表于 2020-5-30 11:31:56

Twilight6 发表于 2020-5-30 10:04
用for循环,50*page 作为url 来访问

给你看下当时我爬的代码:

这个pn在哪里看啊?还是都是50一面?

Twilight6 发表于 2020-5-30 11:41:39

zjh100 发表于 2020-5-30 11:31
这个pn在哪里看啊?还是都是50一面?

直接在页码那右击审核元素,它直接会现实到相应位置的从链接可以看出 50 是第一页   100就是第二页 这种规律

zjh100 发表于 2020-5-30 11:52:16

Twilight6 发表于 2020-5-30 10:04
用for循环,50*page 作为url 来访问

给你看下当时我爬的代码:

我知道咋回事了,我找到了pn,办成了,但是我还没用正则表达式,完全运用list,一旦图片大了,修改了格式就不行,这就去学(为啥每次都是DL你为我解惑{:10_303:})谢谢啦

Twilight6 发表于 2020-5-30 12:14:13

zjh100 发表于 2020-5-30 11:52
我知道咋回事了,我找到了pn,办成了,但是我还没用正则表达式,完全运用list,一旦图片大了,修改了格式就 ...

能帮助到你就好~
https://xxx.ilovefishc.com/forum/202005/27/132745rjvcvw1z2148jthd.gif
页: [1]
查看完整版本: 关于爬图片更换page的疑问