Python技术分享(二)

    xiaoxiao2023-10-11  147

    #爬虫案例 #1.html 前端 #2.python 第三方工具 #3.图书比价工具 #爬虫 大数据 大 数据 #前端 html(超文本标记语言) css(叠层样式) javascript(动态解释语言)(动态效果) #html 爬虫的内容都是在html的标签

    index.html 简单网页编写
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>欢迎来到王者荣耀</h1> <!--无序列表--> <ul> <li><a href="https://pvp.qq.com/web201605/herodetail/112.shtml">鲁班七号</a></li> <li><a href="https://pvp.qq.com/web201605/herodetail/131.shtml">李白</a></li> <li><a href="https://pvp.qq.com/web201605/herodetail/136.shtml">武则天</a></li> <li><a href="https://pvp.qq.com/web201605/herodetail/142.shtml">安其拉</a></li> </ul> <!--p标签单独占一行--> <!--<a href="http://www.neusoft.com">点击跳转至东软官网</a>--> </body> <p>请选择您的英雄出装</p> <div>这是一个div标签</div> <div id="container"> <a href="http://www.neusoft.com">点击跳转至东软官网</a> <p class="action-checkbox">青岛理工大学</p> </div> <img src="安其拉.jpg" alt="哈哈哈"> </html> use_xpath_demo.py 读取本地文件的html文件的源代码 文件操作
    #使用xpath语法进行html 解释 x path # 读取本地文件的html文件的源代码 文件操作 # f=open(file='./static/index.html',mode='r',encoding='utf-8') # html_data=f.read() #导入lxml库 import lxml #from 模块名 import 对象1,对象2 from lxml import html html_data=open(file='./static/index.html',mode='r',encoding='utf-8').read() print(html_data) #使用第三方lxml库进行html内容解释 #安装 :pip install lxml selector=html.fromstring(html_data) print(selector) # / 代表根节点 要获取标签的内容需要在最后加 /text h1=selector.xpath('/html/body/h1/text()') print(h1) #//代表从任意的位置出发 #//标签名1[@属性="属性值"]/标签2[@属性="属性值"]/.../text() #获取a标签的内容 a=selector.xpath('//div[@id="container"]/a/text()') print(a) #获取a标签的链接属性 #与之前不同的是末尾加@属性名 link=selector.xpath('//div[@id="container"]/a/@href') print(link) #获取英雄的列表 ul_list=selector.xpath('//ul/li') #len()获取元素的个数 print(len(ul_list)) #使用for循环遍历ul_list for li in ul_list: hero=li.xpath('a/text()') print(hero) spiger_dangdang.py 当当网图书爬虫
    #使用requests库 进行http请求 #安装requests #导入requests import requests from lxml import html url='http://search.dangdang.com/?key=9787115428028&act=input' resp=requests.get(url) print(resp) html_data=resp.text #print(html_data) selecter=html.fromstring(html_data) #获取图书信息 ul_list=selecter.xpath('//div[@id="search_nature_rg"]/ul/li') print(len(ul_list)) #使用for循环 for li in ul_list: #书名 title=li.xpath('a/@title') print(title) #价格 price=li.xpath('p[@class="price"]/span[1]/text()') print(price) spider_douban.py 豆瓣影视爬虫
    #豆瓣影视爬虫 import requests from lxml import html #爬虫页面地址 url="https://movie.douban.com/cinema/later/qingdao/" # 请求服务器得到相应的内容 resp=requests.get(url) html_data=resp.text selector=html.fromstring(html_data) #获取电影信息 ul_list=selector.xpath('//div[@class="intro"]') print(len(ul_list)) #使用for循环 for film in ul_list: #电影名 film_name=film.xpath('h3/a/text()') print("电影名:"+film_name[0]) # 上映日期 film_date=film.xpath('ul/li[1]/text()') print("上映日期:" + film_date[0]) # 类型 film_type=film.xpath('ul/li[2]/text()') print("类型:" + film_type[0]) # 国家 film_country = film.xpath('ul/li[3]/text()') print("国家:" + film_country[0]) # 想看人数 film_people = film.xpath('ul/li[4]/span[1]/text()') print("想看人数:" + film_people[0]) print("----------------------------------")
    最新回复(0)