栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数据爬虫小笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据爬虫小笔记

对东方财富网进行数据 爬取

1、首先是导包

主要使用的是requests、BeautifulSoup和pandas三个包

import requests
from bs4 import BeautifulSoup
import pandas as pd

requests在爬虫中一般用于来处理网络请求

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python包,

通过想使用的转换器实现惯用的文档导航,查找,修改文档的方式

def download_all_htmls():
    """
    下载所有列表页面的HTML,用于后续的分析
    """
    url = f"http://data.eastmoney.com/zjlx/000001.html"
    print("craw html:", url)
    r = requests.get(url,
                    headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.31"})
    if r.status_code != 200:
        raise Exception("error")
    htmls=r.text
    return htmls

下载所需的列表网页“http://data.eastmoney.com/zjlx/000001.html"

htmls = download_all_htmls()

下载所需的网页

#查看爬取的代码
htmls

def parse_single_html(html):
    """
    解析单个HTML,得到数据
    @return list({"link", "title", [label]})
    """
    soup = BeautifulSoup(html,'html.parser')
    data_items = soup.find("div", class_="sinstock-filter-wrap").find("table", class_="tab").find("tbody").find_all('td')
    datas = []
    for data_item in data_items:
        name=data_item.find('a').get_text()
        herf='http://data.eastmoney.com'+data_item.find('a')['href']
       
        datas.append({'name':name,'herf':herf})

    return datas

定义一个函数对单个网页进行分析处理,得到数据

使用requests获取到整个页面的html代码,对整个页面代码进行处理,所需要的数据只是页面上的一小部分数据,所以我们需要对页面代码html5解析然后筛选提取出我们想要对数据,使用beautifulsoup便派上用场,beautifulsoup之后通过标签+属性的方式来进行定位

import pprint
pprint.pprint(parse_single_html(htmls))

parse_single_html(htmls)

 

 查看网页上的字符块

df=pd.Dataframe(parse_single_html(htmls))
df

df.to_csv('data.csv',encoding = 'GB2312')

 将数据进行保存,

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339207.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号