zoukankan      html  css  js  c++  java
  • Python 2.7_First_try_爬取阳光电影网_20161206

    之前看过用Scrapy 框架建立项目爬取 网页解析时候用的Xpath进行解析的网页元素 这次尝试用select方法匹配元素

    1、入口爬取页面 http://www.ygdy8.com/index.html

    2、用到模块  requests(网页源码下载) BeautifulSoup4(网页解析)

    3、思路:首先由入口爬取页面进行获取网页上方栏目及对应url 如下图

    4、建立菜单url列表 for 循环再次进行解析 爬取每个一级菜单下的具体电影title 和url

    5、问题:每个菜单下的url 进行再次解析后 由于网站内容不同 select 元素会出现非电影标题的连接和标题  

    6、python 代码

    #coding:utf-8
    import requests
    from bs4 import BeautifulSoup as bs
    
    #爬取入口
    rooturl="http://www.ygdy8.com/index.html"
    #获取网页源码
    res=requests.get(rooturl)
    #网站编码gb2312
    res.encoding='gb2312'
    #网页源码
    html=res.text
    soup=bs(html,'html.parser')
    cate_urls = []
    for cateurl in soup.select('.contain ul li a'):
        #网站分类标题
        cate_name=cateurl.text
        #分类url 进行再次爬取
        cate_url="http://www.ygdy8.com/"+ cateurl['href']
        cate_urls.append(cate_url)
        print "网站一级菜单:",cate_name,"菜单网址:",cate_url
    #每个菜单url 解析
    for i in range(len(cate_urls)):
        cate_listurl=cate_urls[i]
        res = requests.get(cate_listurl)
        res.encoding = 'gb2312'
        html = res.text
        soup = bs(html, 'html.parser')
        print "正在解析第"+str(i+1)+"个链接",cate_urls[i]
        contenturls=[]
        contents=soup.select('.co_content8 ul')[0].select('a')
        #print contents
        for title in contents:
            moivetitle=title.text
            moiveurl=title['href']
            contenturls.append(moiveurl)
            print moivetitle,moiveurl
    print contenturls
    

    8、运行结果

     

     

  • 相关阅读:
    Using System Partitioning
    startup命令
    [转]Oracle 10g/11g 密码策略 用户口令 大小写敏感
    [转]Oracle DB 加强的数据安全管理
    Scheduling Jobs with Oracle Scheduler
    [转]Oracle DB SQL 计划管理
    Performing Time-Based or Change-Based Incomplete Recovery
    闪回数据归档
    Managing Optimizer Statistics
    性能测试--十个命令迅速发现性能问题
  • 原文地址:https://www.cnblogs.com/Mr-Cxy/p/6139705.html
Copyright © 2011-2022 走看看