4
回答
请问python可以爬取本地html页面信息吗
【腾讯云】学生服务器套餐10元/月 >>>   

请问python可以爬取本地html页面信息吗,因为页面是从软件中导出,导出后就是html格式,导出后还需要爬取里面一点信息.

举报
DataPrince
发帖于1年前 4回/509阅
共有4个答案 最后回答: 1年前

你爬取网络上的地址, 也是拿到页面源码而已, 本地也是一样, 你直接open就好了, 然后再结合正则或者Pyquery来取出想要的内容就好

--- 共有 1 条评论 ---
DataPrince谢谢各位 1年前 回复
<video x-webkit-airplay="allow" webkit-playsinline="" src="http://v2.mukewang.com/82893051-9d99-4746-a835-50056e57826b/H.mp4?auth_key=1458364819-0-0-262a7ce60b83926e262dd5dc9f81e94f"></video>

 

 

以下是我的代码:

from bs4 import BeautifulSoup
import requests
import configparser
import json
imooc_url = r'http://www.imooc.com'
login_session = requests.session()
headers = {
            "Accept":"application/json, text/javascript, */*; q=0.01",
            "Accept-Encoding":"gzip, deflate",
            "Accept-Language":"zh-CN,zh;q=0.8",
            "Connection":"keep-alive",
            "Host":"www.imooc.com",
            "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36",
            "X-Requested-With":"XMLHttpRequest"
        }


class imoocLogin(object):
    def __init__(self,configfile):
        self.loginurl = r'http://www.imooc.com/passport/user/login'

        config = configparser.ConfigParser()
        config.read(configfile)
        configname = 'imooc'
        self.username = config.get(configname,'username')
        self.password = config.get(configname,'password')


    def startLogin(self):
        login_text = requests.get(imooc_url).text
        login_soup = BeautifulSoup(login_text,'lxml')
        verify = login_soup.find_all('img',class_="verify-img")
        print "verify: %s" %verify
        if verify:
            for verify_data in verify:
                verify_data = verify_data.get('src')
                verify_url = imooc_url+verify_data
                print verify_url
                verify_data = raw_input('input verify:')
                login_data = {
                    "username":self.username,
                    "password":self.password,
                    "remember":'1',
                    "verify":verify_data,
                    "referer":"http://www.imooc.com"
                }
        else:
            login_data = {
                "username":self.username,
                "password":self.password,
                "remember":"1",
                "referer":"http://www.imooc.com"
            }
        print 'ddddddddddddd'
        s_login = login_session.post(self.loginurl,data=login_data,headers=headers)
        print 'wwwwwwwwwwwwww'
        print(s_login)
        print s_login.json()
        print type(s_login.json())

        for k,v in s_login.json().items():
            print k,v
        # print json.dump(s_login.json(),indent=4,sort_keys=True)



if __name__=='__main__':
    abc_url = r'http://www.imooc.com/video/10903'
    user_url = r'http://www.imooc.com/u/1322083/courses'
    loginPro = imoocLogin('config.ini')
    loginPro.startLogin()
    video_url = login_session.get(abc_url,headers=headers).text
    video_soup = BeautifulSoup(video_url,'lxml')
    print video_soup

有个头痛的问题是,大部分的网页都没有完全遵照标准来写,各种莫名其妙的错误令人想要找出那个写网页的人痛打一顿。为了解决这个问题,我们可以选择著名的BeautifulSoup来解析html文档,它具有很好的容错能力。

BeautifulSoup功能强大,我还在研究中,有进展会更新本文。

其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西。配置开发环境也不是很复杂,mac和linux都内置了python。另外据我所知,不少学校也开始使用python来教授程序设计课程(比如本人的母校)。
我就是完全通过网上资源自学python的。
从在校时候用python接活赚零花钱,到在创业公司用python开发商业网站和游戏后台。所有遇到的问题,几乎都可以从互联网上的公开资源找到答案。
关于自学python,个人最大的3点经验:
找一本浅显易懂,例程比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。我当时看的是《简明python教程》,不过这本书不是非常适合零基础初学者。
去找一个实际项目练手。我当时是因为要做一个网站,不得已要学python。这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的项目做。可以找几个同学一起做个网站之类。注意,真实项目不一定非要是商业项目,你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。
最好能找到一个已经会python的人。问他一点学习规划的建议(上知乎也是个途径),然后在遇到卡壳的地方找他指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问。没人愿意帮你写作业或是回答“一搜便知”的问题。

然而,别人的经验未必能完全复制。比如我没有说的是,在自学python之前,我已在学校系统学习过其他的编程语言。
对于完全没有编程经验的初学者,在学习python的时候,面对的不仅仅是python这门语言,还需要面临“编程”的一些普遍问题,比如:
从零开始,不知道从何入手,找了本编程教材发现第二章开始就看不懂了
缺少计算机基础知识,被一些教程略过的“常识性”问题卡住
遇到问题不知道怎么寻找解决方案
看懂语法之后不知道拿来做什么,学完一阵子就又忘了
缺少数据结构、设计模式等编程基础知识,只能写出小的程序片段
所以除了前面说的3点经验,给初学编程者的额外建议:
首先要有信心。虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根儿就没能把程序运行起来。但相信我,几乎所有程序员一开始都是这么折腾过来的。
选择合适的教程。有些书很经典,但未必适合你,可能你写了上万行代码之后再看它会比较好。
写代码,然后写更多的代码。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。
除了学习编程语言,也兼顾补一点计算机基础,和英语。
不但要学写代码,还要学会看代码,更要会调试代码。读懂你自己程序的报错信息。再去找些github上的程序,读懂别人的代码。
学会查官方文档,用好搜索引擎和开发者社区。
最后: 学好python你需要一个良好的环境,一个优质的开发交流群,群里都是那种相互帮助的人才是可以的,我有建立一个python学习交流群,在群里我们相互帮助,相互关心,相互分享内容,这样出问题帮助你的人就比较多,群号是304050799,这样就可以找到大神聚合的群,如果你只愿意别人帮助你,不愿意分享或者帮助别人,那就请不要加了,你把你会的告诉别人这是一种分享。
 

--- 共有 1 条评论 ---
DataPrince谢谢 1年前 回复
mport urllib.request
import re

def getHtml(url):
    page = urllib.request.urlopen(url)
    html = page.read()



具体了解的话加QQ群:304050799
    html = html.decode('GBK')
    return html

def getMeg(html):
    reg = re.compile(r'******')
    meglist = re.findall(reg,html)
    for meg in meglist:
        with open('out.txt',mode='a',encoding='utf-8') as file:
            file.write('%s\n' % meg)

if __name__ == "__main__":
    html = getHtml(url)
    getMeg(html)

 

 

想具体了解的话加QQ群:304050799

 

顶部