整体思路流程

通过URL获取说要爬取的页面的响应信息(Requests库的使用)
通过python中的解析库来对response进行结构化解析(BeautifulSoup库的使用)
通过对解析库的使用和对所需要的信息的定位从response中获取需要的数据(selecter和xpath的使用)
将数据组织成一定的格式进行保存(MongoDB的使用)
通过对数据库中的数据进行筛选和组织,进行数据可视化的初步展示(HighCharts库的使用)

简单代码演示

 准备工作

下载并安装所需要的python库,包括:

requests库:用于向指定url发起请求
BeautifulSoup库:用于解析返回的网页信息
lxml库:用于解析网页返回结果
pymongo库:用于实现python对MongoDB的操作

 对所需要的网页进行请求并解析返回的数据

对于想要做一个简单的爬虫而言,这一步其实很简单,主要是通过requests库来进行请求,然后对返回的数据进行一个解析,解析之后通过对于元素的定位和选择来获取所需要的数据元素,进而获取到数据的一个过程。

以上就是一个简单的网页爬虫的制作过程,我们可以通过定义不同的爬虫来实现爬取不同页面的信息,并通过程序的控制来实现一个自动化爬虫。

以下是一个爬虫的实例

import requests
from bs4 import BeautifulSoup

start_url = 'http://bj.58.com/sale.shtml'
url_host = 'http://bj.58.com'
#定义一个爬虫函数来获取二手市场页面中的全部大类页面的连接
def get_channel_urls(url):
    #使用Requests库来进行一次请求
    web_data = requests.get(url)
    #使用BeautifulSoup对获取到的页面进行解析
    soup = BeautifulSoup(web_data.text, 'lxml')
    #根据页面内的定位信息获取到全部大类所对应的连接
    urls = soup.select('ul.ym-submnu > li > b > a')
    #作这两行处理是因为有的标签有链接,但是却是空内容
    for link in urls:
        if link.text.isspace():
            continue
        else:
            page_url = url_host + link.get('href')
            print(page_url)

云海天教程网,免费的云海天教程网站,欢迎在线学习!

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python如何做爬虫