python实例

1、准备工作

python获取网页信息:
1、首先分析获取网页的链接,观察其规律性

https://movie.douban.com/top250?start=
https://movie.douban.com/top250?start=25

通过观察得出获取不同的页面时 链接为https://movie.douban.com/top250?start=加上数字;

2、对网页中搜索的内容使用开发工具来具体匹配到标签
通过使用F12打开开发工具得出,我们所需要的内容在div标签内,接下来将对div的内容进行解析

python库的功能十分强大,首先需要导入几个库:
分别为:

import urllib.request,urllib.error 指定url爬取网页数据
from bs4 import BeautifulSoup 网页解析,实现数据处理
import re 正则表达式进行文字的匹配从而实现数据的提炼
import xlwt 导入到excel中进行存储

2、具体实现

(1)首先定义出基本框架

1、爬取网页
2、进行数据的解析
3、保存数据
注:每一个模块定义一个函数;最后再main()函数中进行调用

def main():  #每个部分都是一部分函数,需要每次进行调用
    #1、爬取网页
    baseurl = "https://movie.douban.com/top250?start="
    datalist = getData(baseurl)  #获取到网址的所有数据
    savepath ="豆瓣电影Top250.xls"
    #2、逐一解析数据
    #3、保存数据
    saveData(savepath)  #直接保存到这个文件里面

#爬取网页
def getData(baseurl):
	#边爬取边进行数据的解析

#得到指定一个URL的网页内容
def askURL(url):
    
#保存数据
def saveData(savepath):
    print("save.....")
    
if __name__ == "__main__":
#调用函数
    main()  #从主方法调用到上面由自己编写  从入口调用到main函数中进行编写

(2)具体内容填取

1、通过for循环进行url后面数字的提取结合baseurl即可得出每一个页面
2、在得到网页信息时候,head需要从浏览器开发工具内进行获取,其作用是让服务器知道自己是一个什么样的浏览器及其电脑型号,以及自己需要获取什么样的内容
3、urllib.request.Request的作用是将url和封装的head信息进行传入,然后进行访问

在获取到html的时候可能会出现问题,因此需要进行try except异常处理

urllib.request.urlopen             来模仿浏览器发出一个请求
response.read().decode(“utf-8”)读取的信息以utf-8的形式存储到html中

#爬取网页
def getData(baseurl):
    datalist = []  #将获取的网页中的数据存储到列表中
    
    for i in range(0,10):    #调用获取页面信息的函数10次
        url = baseurl + str(i*25)
        html = askURL(url)   #保存获取到的网页源码
        # 逐一解析数据

    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/106.0.0.0 Safari/537.36"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值