账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何循环爬取很多个列表里的很多个详情页的内容?
    35
    0
    #-*- coding:utf-8 -*-
    
    import requests
    import re
    
    
    url_list = ['http://top.chinaz.com/hangye/index_news_{}.html'.format(pages) for pages in range(2, 68)]
    url_list.insert(0, 'http://top.chinaz.com/hangye/index_news.html')
    
    main_url = 'http://top.chinaz.com'
    
    url_list_1 = requests.get(url_list[1]) # 打开第一个列表页
    url_list_1.encoding = 'utf-8'
    url_list_1 = url_list_1.text # 获取第一个列表页内容
    url_content_all = re.findall('<div class="leftImg"><a name=".*?href="(.*?)">',url_list_1) # 获取第一个列表页所有详情页链接
    url_content_0 = requests.get(main_url + url_content_all[0]) # 拼接第一个列表页的第一个详情页地址
    url_content_0.encoding = 'utf-8'
    url_content_0 = url_content_0.text # 获取第一个列表页的第一个详情页内容
    website_0 = re.search('<h2 class="h2Title fl">(.*?)</h2>',url_content_0).group(1) # 获取网站名称
    weburl_0 = re.search('<h2 class="h2Title fl">.*?</h2><p.*?href="(.*?)" target="_blank" >.*?</a>',url_content_0).group(1) # 获取网站 url
    webdescription_0 = re.search('<p class="webIntro">(.*?)</p>',url_content_0).group(1) # 获取网站url
    
    print('网站名称:' + website_0)
    print('网址:' + weburl_0)
    print('网站简介:' + webdescription_0)

    以上,代码只是获取第一个列表页的第一个详情页的内容。总共有 67 个列表页,1340 个详情页,如果按照这种方法写...这种要怎么封装或者循环呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 赤魂杀戮 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部