从零开始的网络爬虫-01.简单的网络爬虫

总结

  • 1.网络爬虫就是从网络上进行数据采集
  • 2.经常使用的工具备urllib,beautifulsoup4
  • 3.一些网站有反爬措施,须要加上headers后进行访问
  • 4.beautifulsoup4能够将爬取到的信息转换为便于解析的对象

什么是网络爬虫

  • 假设互联网是张蜘蛛网,咱们须要了解这张网上有多少只蝴蝶(我的感受fly更贴切,但太恶心了...).那么,咱们的小蜘蛛就须要在这张网上进行巡逻,遇到蝴蝶,就收集起来,这种从网络上采集数据的行为就能够理解为网络爬虫.

网络爬虫的知识储备

  • 为了捉到小蝴蝶,小蜘蛛在新手村里学习了Python,HTML,CSS,JavaScript以及简单的网络知识,村里的铁匠告诉小蜘蛛,在村子外围有小蝴蝶出没,因而,小蜘蛛出发了.

简单的网络爬虫

  • 离开了新手村的小蜘蛛很快就发现了小蝴蝶的踪影 butterfly_url
butterfly_url = 'https://www.cnblogs.com/willow-blueness/p/11704560.html'
  • 小蜘蛛火烧眉毛的取出了本身的精灵球 urlopen,嗷呜的一声就向小蝴蝶丢了过去
from urllib.request import urlopen

butterfly_catch = urlopen(butterfly_url)

print(butterfly_catch.read())
  • 小蝴蝶也很聪明呀,看到小蜘蛛想不通过浏览器大大就非法捕获它,那哪能赞成啊,抛出了"urllib.error.HTTPError: HTTP Error 403: Forbidden"的异常,就灵巧的躲开了.
  • 因而,机灵的小蜘蛛就伪造了一份浏览器大大的手令:
catch_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36"}
  • 小蜘蛛再次抛出精灵球:
from urllib.request import urlopen,Request

  butterfly_url = 'https://www.cnblogs.com/willow-blueness/p/11704560.html'

  catch_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36"}

  butterfly_request = Request(butterfly_url,headers=catch_headers)

  print(urlopen(butterfly_request).read())
  • 天真的小蝴蝶被捉住了...
  • 本觉得这个尴尬的故事到这里就结束了,但是小蜘蛛恰恰想知道小蝴蝶口袋里有几颗糖.因而,小蜘蛛就从铁匠那边学习了新的技能(引入新的python包):
pip install beautifulsoup4
  • 掌握了新技能的小蜘蛛利用beautifulsoup开始探索小蝴蝶到底有几颗糖:
from bs4 import BeautifulSoup

  butterfly_html = urlopen(butterfly_request).read()
  butterfly_obj = BeautifulSoup(butterfly_html,features="html.parser")
  • 到这里,小蝴蝶被小蜘蛛了解了个完全,小蜘蛛想知道啥,就直接查询butterfly_obj这个对象了,小蝴蝶哭晕在角落 Orz~~~
相关文章
相关标签/搜索