初步了解python爬虫(摘录)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40179546/article/details/82666932

1.html:超文本标记语言  <!DOCTYPE html>

2.<meta charset="UTF-8">申明字符类型

3.需关注html  css

4.div <class_  id >

5.树形关系:先辈、父、子、兄弟、后代


6.xpath:从文档中定位元素

    可将其理解为语言
    ‘/’从根节点进行选取
    ‘//’从匹配选择的当前结点来对文档的结点进行选择
    ‘.’选取当前结点
    ‘..’选择当前节点的父节点
    ‘@’选择属性

/html
body/div  选择属于body 的子元素中的所有div元素

//div 选取所有div标签的子元素,而不管他们在html文档中的位置

@lang 选取名称为lang的所有属性

2通配符:

* 匹配任何元素结点
@* 匹配任何属性结点

//* 选择文档当中的所有元素

//title[@*] 选取带有属性的title元素

|  路径表达式中,| 代表的是和的关系

//body/div | //table/li 选取body元素的所有div元素和 li元素

//div  | //li 选取所有div和li元素


3.beautifulsoup 
什么是beautifulsoup ?
是一个可以从html或者是xml文件中提取数据的一个python 库

pip install beautifulsoup4

使用:from bs4 import BeautifulSoup

html_doc = "  "
html_file = open(html_doc,"r",encoding ="gbk")
html_handle = html_file.read()
html_handle.encode(encoding = "utf-8")
soup = BeautifulSoup(html_handle,'html.parser')
print(soup)

print(soup.head)
print(soup.p) #这样只可以获取第一个p标签

#获取结点中的属性
print(soup.p.attrs) #获取p标签中的属性

#获取所有的p标签
ps=soup.fing_all("p")
print(ps)

#用属性进行定位
#一般用id 进行定位相对而言比较简单
result = soup.find_all(id = "")
print(result)

#按照css进行搜索
jobs = soup.find_all("td",class_="jobs')

#用正则表达式提取数据

import re

#解析:
re:是正则表达式库,.表示所有数据,{2,5}表示字节数,str表示将数据
转换为字符串格式,因为findall只接受字符串类型
r = re.findall(">(.{2,5})</a>".str(names))
print(r)


4.scrapy框架
pip install scrapy
#如果遇到错误,则运行下面两条语句,因为scrpy框架是基于下面两个库
pip install --upgrade incremental
pip install Twisted


 
总结,个人感觉用beautifulsoup加正则表达式爬取一些简单的网页便够用了!

猜你喜欢

转载自blog.csdn.net/qq_40179546/article/details/82666932
今日推荐