大家一起学爬虫(一)

编程语言:python 3.5

环境:windows 7

python库:urllib,bs4

1.试试获取网页信息

 
  
# 导入urlopen
from urllib.request import urlopen

# 使用urlopen访问http://pythonscraping.com/pages/page1.html
html = urlopen("http://pythonscraping.com/pages/page1.html")
# 读取http://pythonscraping.com/pages/page1.html的网页源码
print(html.read())

是不是很简单,3行代码搞定。


2.试试使用bs4解析html

# 导入urlopen和BeautifulSoup
from urllib.request import urlopen
from bs4 import BeautifulSoup

# 使用urlopen访问http://pythonscraping.com/pages/page1.html
html = urlopen("http://pythonscraping.com/pages/page1.html")
# 使用BeautifulSoup将html源码转换为BeautifulSoup对象
bsObj = BeautifulSoup(html.read(),"lxml")
# 使用4种方式获取html源码种的h1标签
print(bsObj.h1)
print(bsObj.html.body.h1)
print(bsObj.body.h1)
print(bsObj.html.h1)
强大的bs4,有了你,解析html不再繁琐。


3. 试试异常处理

# 导入urlopen,异常处理HTTPError以及BeautifulSoup
from urllib.request import urlopen
from urllib.error import HTTPError
from bs4 import BeautifulSoup
try:
    html = urlopen("http://www.pythonscraping.com/pages/page1.html")
except HTTPError as e:
    print(e)
else:
    print("vist is ok.")
    
bsObj = BeautifulSoup(html.read(),"lxml")
try:
    bsContent = bsObj.h1
except AttributeError as e:
    print(e)
else:
    if bsContent == None:
        print("bsContent is None")
    else:
        print(bsContent)

这个没啥好说的,异常处理是python的基础,异常处理可以提前发现问题,提前解决。也方便分析问题。


4.试试查找指定属性值的某类标签

# 导入urlopen,BeautifulSoup
from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://www.pythonscraping.com/pages/warandpeace.html")
bsObj = BeautifulSoup(html.read(),"lxml")
# 查找所有标签为span,属性class的值为green的标签
nameList = bsObj.findAll("span",{"class":"green"})
for name in nameList:
    # 使用get_text()获取标签中的文本
    print(name.get_text())
重点理解findAll方法,span为标签,class为span的属性,green为class的值。


5.试试查找子节点

from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://www.pythonscraping.com/pages/page3.html")
bsObj = BeautifulSoup(html.read(),"lxml")
# 查找标签为table,属性id的值为giftList的所有子节点
for child in bsObj.find("table", {"id":"giftList"}).children:
    print(child)
find跟findAll用法几乎相同,children只取一级子节点,如果需要迭代遍历,则将children改为 descendants


今天就写这么多了。





转载于:https://www.cnblogs.com/eagle-1024/p/9043239.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python爬虫可以通过以下步骤: 1. 首先要Python基础语法和常用库,如数据类型、循环、函数、文件读写等。 2. Python爬虫框架,如Scrapy、BeautifulSoup、requests等。 3. 通过练习实战项目来熟悉爬虫的实际应用,如爬取网页内容、提取信息、存储数据等。 4. 爬虫的相关知识,如网络协议、数据清洗、数据分析等。 可以通过在线课程、书籍、视频教程等方式习,也可以加入爬虫爱好者群体,和大家一起交流习。 ### 回答2: Python爬虫的首要步骤是了解Python编程语言和基本的编程概念。如果你对Python已经有一些基础知识,那么可以直接开始爬虫。以下是一些Python爬虫的方法和步骤: 1. 找到适合初者的Python爬虫教程,例如Coursera、Udemy或YouTube上的在线视频教程。这些教程经常包含基础知识和实践项目。 2. Python的基本语法和数据结构。了解如何使用变量、条件语句、循环和函数等基本概念。 3. Python的网络库和爬虫框架,例如Requests、BeautifulSoup和Scrapy等。这些库和框架可以帮助你解析HTML、发送HTTP请求和处理数据。 4. 阅读相关的爬虫文档和教程,理解HTML、CSS和JavaScript等基础知识。这将有助于你理解网页的结构和内容。 5. 开始编写简单的爬虫程序,涉及基本的网页请求和数据提取。例如,编写一个程序来抓取一个网页的标题或图片链接。 6. 阅读和分析其他人编写的爬虫代码。GitHub是一个很好的资源,可以找到许多开源的爬虫项目。 7. 不断练习和挑战自己,尝试一些更复杂的爬虫任务,例如爬取动态网页、模拟登录和数据清洗等。 8. 参加相关的社区和论坛,与其他爬虫程序员交流和习。他们可以提供宝贵的经验和解决方案。 9. 保持对新技术和工具的关注,如机器习和自然语言处理。这些技术可以帮助你更高效地处理和分析爬取的数据。 10. 最重要的是坚持不懈。Python爬虫是一个不断探索和习的过程,只有不断实践和积累经验才能掌握这个技能。 ### 回答3: Python爬虫可以按照以下步骤进行: 1. 掌握Python基础知识:了解Python的语法、数据类型、循环、条件判断等基本知识,并熟悉常用的Python内置函数和标准库。 2. 习HTTP协议和网页基础知识:了解HTTP请求和响应的基本原理,理解网页的结构和常用的HTML标签,掌握获取网页内容的方法。 3. 习相关库和框架:掌握一些必备的Python库和框架,如 requests、Beautiful Soup、Scrapy等,这些工具能够帮助我们发送HTTP请求、解析网页内容并提取有用的信息。 4. 习正则表达式:正则表达式是一种强大的文本匹配工具,对于爬虫来说非常有用。习正则表达式的语法和常用的匹配规则,能够方便地从网页中提取所需的数据。 5. 爬虫实践:选择一个合适的目标网站开始实践爬虫操作。首先分析目标网站的网页结构,确定需要爬取的内容和所需的请求方式。然后编写代码,使用相应的库和工具发送请求、解析网页并提取数据,最后将数据保存到指定的位置。 6. 不断习和提升:爬虫领域发展迅速,新的爬虫技术和工具不断涌现。要不断习新的知识,掌握新的技术和工具,提升自己的爬虫水平。 在习的过程中,可以参考相关的书籍、教程和在线文档,也可以参加相关的培训或者线上课程。此外,多练习,动手实践是提高爬虫能力的关键,通过不断的实践和实际项目的经验积累,才能够真正掌握Python爬虫的技巧和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值