美文网首页
Python笔记:爬虫的实现2019-12-14

Python笔记:爬虫的实现2019-12-14

作者: 位右虚左 | 来源:发表于2019-12-14 08:58 被阅读0次

    爬虫是python的一个特色,先让我们了解下爬虫的基本流程:

    一、发起请求:通过HTTP库向目标站点发起请求(request),请求可以包含额外的header等信息,等待服务器响应。

    二、获取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型。

    三、解析内容:得到的内容可能是HTML,可以用正则表达式,页面解析库进行解析,可能是Json,可以直接转换为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。

    四、保存数据:保存形式多样,可以存为文本,也可以保存到数据库,或者保存特定格式的文件。

    我们用一个小例子入手,海关总署的网站示例,抓取首页包含“海关”的词出来。代码如下:

    #-*- coding:utf-8 -*-

    from bs4 import BeautifulSoup as bs

    from urllib.request import urlopen

    import re

    import ssl

    ssl._create_default_https_context = ssl._create_unverified_context #全局取消证书验证

    #请求URL,并把结果用utf-8编码

    req = urlopen("https://www.customs.gov.cn/").read().decode("utf-8")

    #使用beautifulsoup去解析

    soup = bs(req,"html.parser")

    urllist = soup.find_all('option')

    for url in urllist:

        if re.search('海关',str(url)):

          print(re.sub("[A-Za-z0-9\!\%\[\]\,\。\<\=\:\/\.\>\"]", "", str(url)))

        我print了一下soup,发现HTML里面包含“海关”词的主要是option项里,于是把html包含里面option的放入数组urllist,然后对这个字符串进行代换,剩下的中文显示出来即可。爬虫的重要点就是对soup对象进行加工,得到想要的信息。

        吐槽一下:海关总署的网站居然没有反爬虫。

    相关文章

      网友评论

          本文标题:Python笔记:爬虫的实现2019-12-14

          本文链接:https://www.haomeiwen.com/subject/fjrqnctx.html