Python技术分享(二)

#爬虫案例
#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("----------------------------------")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值