您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

python

python笔记


from bs4 import BeautifulSoup #进行网页解析获取数据##安装file>settings>project.interpreter
import re#正则表达式进行文字匹配
import urllib.request,urllib.error#指定URL,获取网页数据
import xlwt#进行excel操作
import sqlite3 #进行SQLITE数据库操作
def main():
    baseurl="https://movie.douban.com/top250?start="
    datalist=getData(baseurl)
    savepath=".\\豆瓣电影top250.xls"#./"当前文件夹
    # savaData
    # askURL("https://movie.douban.com/top250?start=")
#1、爬取网页
#2、解析数据
#3、保存数据
findLink=re.compile(r'<a href="(.*?)">')#compile生成创建正则表达式 ,表示规则(字符串的模式).*?中间有许多字符
#查看源代码内需要的数据的框架闯创建正则表达式
#爬取网页
def getData(baseurl):
    datalist=[]
    for i in range(0,10):#调用获取页面信息的函数25次,一共10页,1页十五个电影
      url=baseurl+str(i*25)#url为路径,需要访问25页的网页内容
      html=askURL(url)#对返回值进行保存保存获取到的网页源码
    # 逐一解析数据
    soup=BeautifulSoup(html,"html.parser")#使用"html.parser"解析器对html网页进行解析
    for item in soup.find_all('div',class_="item"):#查找符合要求的字符串形成列表item,对内容进行提取,浏览器得div里有一个class_属性
        data=[]#保存一部电影的所有信息
        item=str(item)
        link=re.findall(findLink,item)[0]#re库通过正则表达式查找指定字符串,符合findLink的字符串的第一个,解析超链接
        #解析图片
        print(link)
    return datalist#返回数据列表
# #得到一个指定URL的网页内容
def askURL(url):
    head={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"}#存放user-agent,伪装成浏览器,表示告诉服务器我们可以接受什么水平的文件内容
    request=urllib.request.Request(url,headers=head)
    html=""
    try:
        response=urllib.request.urlopen(request)
        html=response.read().decode("utf-8")#读取网页代码用utf-8进行解析
        # print(html)
    except urllib.error.URLError as e:
        if hasattr(e,"code"):#没有成功的代码
            print(e.code)
        if hasattr(e,"reason"):#没有捕获成功的原因
                print(e.reason)

    return html
def saveData(savepath):
    print("save")#保存数据



if __name__ == '__main__':#当程序执行时
    main ()
    #调用函数


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进