广告
返回顶部
首页 > 资讯 > 后端开发 > Python >通过python爬取数据
  • 531
分享到

通过python爬取数据

数据python 2023-01-31 01:01:21 531人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目标地址:xxxx技术选型:python软件包管理工具:pipenv编辑器:jupyter分析目标地址:gplId表示项目ID,可变参数结果收集方式:数据库代码实现导入相关模块from urllib.parse import urlenco

目标地址:xxxx

技术选型:python

软件包管理工具:pipenv

编辑器:jupyter

分析目标地址:

gplId表示项目ID,可变参数

结果收集方式:

数据库

代码实现

导入相关模块

from urllib.parse import urlencode

from bs4 import  BeautifulSoup

import pandas as pd

import requests

import os,sys


# 网页提取函数

def get_one_page(i):

    try:

        headers = {

            'User-Agent': 'Mozilla/5.0 (windows NT 6.1; WOW64) AppleWEBKit/537.36 (Khtml, like Gecko) Chrome/66.0.3359.181 Safari/537.36'

        }

        

        paras = {

            'a': 'x',

            'b': 'x',

            'c': 'x',

            'd': 'x',

            'e': 'x'

        }

        

        url = 'xx?' + urlencode(paras)

        response = requests.get(url,headers = headers)

        if response.status_code == 200:

            response.encoding='utf-8'

            return response.text

        return None

    except RequestException:

        print('爬取失败')


# beatutiful soup解析然后提取表格

def parse_one_page(html):

    soup = BeautifulSoup(html)

    content = soup.select('.ttable')[0]

    tbl = pd.read_html(content.prettify(),header = 1)[0]

    tbl.rename(columns = {'序号':'serial_number',

                          'xx':'option', 

                          'xx':'fanwei', 

                          'xx':'company_name', 

                          'xx':'shiGong_date', 

                          'xx':'order_no', 

                          'xx':'miaomu_name', 

                          'xx':'type', 

                          'xx':'spec', 

                          'xx':'count', 

                          xx':'dead_count', 

                          'xx':'zhongzhi_midu', 

                          'xx':'mianji', 

                          'xx':'unit', 

                          'xx':'danjia',

                          'xx':'xiaoji',

                          'xx':'zhongzhididian',

                          'xx':'chuhuononGChang',

                          'xx':'remark',

                          'xx':'image_count',

                          'xx':'image'

                         },inplace = True)

    del tbl['option']

    del tbl['image_count']

    del tbl['image']

    return tbl


# 创建表结构

import pyMysql

# 创建表结构

def generate_mysql():

    conn = pymysql.connect(

    host='xxxx',

    user='root',

    passWord='xxxx',

    port=3307,

    charset = 'utf8',  

    db = 'miao_mu_data')

    cursor = conn.cursor()


    sql = 'CREATE TABLE IF NOT EXISTS miaomu (' \

    'serial_number INT(20) NOT NULL AUTO_INCREMENT,' \

    'fanwei varchar(50) ,' \

    'company_name VARCHAR(50) ,' \

    'shigong_date varchar(50),' \

    'order_no varchar(50),' \

    'miaomu_name varchar(50),' \

    'type varchar(50),' \

    'spec varchar(50),' \

    'count varchar(50),' \

    'dead_count varchar(50),' \

    'zhongzhi_midu varchar(50),' \

    'mianji varchar(50),' \

    'unit varchar(50),' \

    'danjia varchar(50),' \

    'xiaoji varchar(50),' \

    'zhongzhididian varchar(50),' \

    'chuhuonongchang varchar(50),' \

    'remark varchar(50),' \

    'PRIMARY KEY (serial_number))'

    

    cursor.execute(sql)

    conn.close()


# 存储到数据库

from sqlalchemy import create_engine

# 存储到数据库

def write_to_sql(tbl, db = 'miao_mu_data'):

    engine = create_engine('mysql+pymysql://root:密码@ip:3307/{0}?charset=utf8'.fORMat(db))

    try:

        tbl.to_sql('miaomu',con = engine,if_exists='append',index=False)

    except Exception as e:

        print(e)


# 主函数

import time

# 主函数

def main(page):

    start_time = time.time()

    for i in range(1,page):

        print(i)

        html = get_one_page(page)

        df = parse_one_page(html)

        if not df.empty:

            write_to_sql(df)

        

        # 间隔执行

        time.sleep(3)

        

    endtime = time.time()-start_time

    print('程序运行了%.2f秒' %endtime)

        

if __name__ == '__main__':

    main(100000)

    # 生成表结构

#     generate_mysql()




--结束END--

本文标题: 通过python爬取数据

本文链接: https://www.lsjlt.com/news/184570.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 通过python爬取数据
    目标地址:xxxx技术选型:python软件包管理工具:pipenv编辑器:jupyter分析目标地址:gplId表示项目ID,可变参数结果收集方式:数据库代码实现导入相关模块from urllib.parse import urlenco...
    99+
    2023-01-31
    数据 python
  • php通过cURL爬取数据(2):CURLINFO_HTTP_CODE返回0
    CURLINFO_HTTP_CODE返回0 一、项目说明二、curl_getinfo返回异常1.小鹅通SDK2.CURLINFO_HTTP_CODE为0的原因有哪些?3.返回CURLINFO_...
    99+
    2023-09-06
    php http 数学建模
  • Python爬虫:通过关键字爬取百度图片
    使用工具:Python2.7 点我下载 scrapy框架 sublime text3 一。搭建python(Windows版本) 1.安装python2.7 ---然后在cmd当中输入python,界面如...
    99+
    2022-06-04
    爬虫 关键字 图片
  • 爬虫怎么通过代理ip快速获取数据
    小编给大家分享一下爬虫怎么通过代理ip快速获取数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、代理ip提高频率是有限的通常,网络服务器检测爬虫类程序的一大依...
    99+
    2023-06-15
  • Python如何通过Scrapy框架实现爬取百度新冠疫情数据
    这篇文章主要介绍了Python如何通过Scrapy框架实现爬取百度新冠疫情数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境部署主要简单推荐一下插件推荐这里先推荐一个Go...
    99+
    2023-06-25
  • Python爬虫:导出爬取的数据
    最近想要做一个爬虫,检验一下Python的学习成果,眼看快要做完了,又遇到了问题,想要导出爬取的数据就必须要了解CSV文件,可是!下面是我百度出的结果! 啊啊啊啊! 作为一枚小白,我看不懂百科在说些什么?!后来,在网上发现一个讲爬...
    99+
    2023-01-31
    爬虫 数据 Python
  • python爬虫爬取赶集网数据
    一.创建项目 scrapy startproject putu 二.创建spider文件 scrapy genspider  patubole patubole.com   三.利用chrome浏览器分析出房价和标题的两个字段的x...
    99+
    2023-01-31
    爬虫 数据 赶集网
  • 通过python爬虫mechanize库爬取本机ip地址的方法
    目录需求分析实现分析实际使用完整代码演示需求分析 最近,各平台更新的ip属地功能非常火爆,因此呢,也出现了许多新的网络用语,比如说“xx加几分”,&ldquo...
    99+
    2022-11-11
  • 通过python获取甲流分布数据
    近期,多地学校出现因甲流导致的班级停课,儿科甲流患者就诊量呈数倍增长。此轮甲流为何如此严重?感染甲流之后会出现哪些症状 经过专家的介绍甲流之所以这么严重有这些原因导致的。一、疫情完全...
    99+
    2023-03-03
    python获取甲流分布数据 python获取数据
  • python爬虫爬取网页数据并解析数据
    本篇文章给大家带来了关于Python的相关知识,主要介绍了python爬虫如何爬取网页数据并解析数据,帮助大家更好的利用爬虫分析网页,下面一起来看一下,希望对大家有帮助。【相关推荐:Python3视频教程 】1.网络爬虫的基本概念网络爬虫(...
    99+
    2022-08-15
    python
  • 怎么使用python爬虫爬取数据
    本篇内容介绍了“怎么使用python爬虫爬取数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python爬出六部曲第一步:安装reques...
    99+
    2023-06-29
  • 怎么用Python爬取数据
    这篇文章主要介绍“怎么用Python爬取数据”,在日常操作中,相信很多人在怎么用Python爬取数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python爬取数据”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-16
  • 如何通过抓取淘宝评论为例讲解Python爬取ajax动态生成的数据
    如何通过抓取淘宝评论为例讲解Python爬取ajax动态生成的数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在学习python的时候,...
    99+
    2022-10-19
  • Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
    目录前言环境部署插件推荐爬虫目标项目创建webdriver部署项目代码Item定义中间件定义定义爬虫pipeline输出结果文本配置文件改动验证结果总结前言 闲来无聊,写了一个爬虫程...
    99+
    2022-11-12
  • Python爬虫爬取百度翻译之数据提取方
    工具:Python 3.6.5、PyCharm开发工具、Windows 10 操作系统 说明:本例为实现输入中文翻译为英文的小程序,适合Python爬虫的初学者一起学习,感兴趣的可以做英文翻译为中文的功能,如单词查询功能等。推荐使用谷歌浏...
    99+
    2023-01-30
    爬虫 数据 Python
  • Python爬虫爬取豆瓣电影之数据提取值
    工具:Python 3.6.5、PyCharm开发工具、Windows 10 操作系统、谷歌浏览器 目的:爬取豆瓣电影排行榜中电影的title、链接地址、图片、评价人数、评分等 网址:https://movie.douban.com/ch...
    99+
    2023-01-30
    爬虫 豆瓣 数据
  • python爬虫之爬取谷歌趋势数据
    一、前言  爬取谷歌趋势数据需要科学上网~ 二、思路 谷歌数据的爬取很简单,就是代码有点长。主要分下面几个就行了 爬取的三个界面返回的都是json数据。主要获取对应的tok...
    99+
    2022-11-12
  • php通过cURL爬取数据(4):PHP的cURL时遇到Could not resolve
    Could not resolve如何解决 在宝塔服务器中使用cURL时,如果出现 Could not resolve 的错误,通常是由于 DNS 解析失败导致的。以下是一些解决该问题的解决方案: ...
    99+
    2023-09-01
    php 服务器 开发语言
  • 使用 Python 爬取网页数据
    1. 使用 urllib.request 获取网页 urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 HTML 解析库, 可以编写出用于采集...
    99+
    2023-01-31
    网页 数据 Python
  • 使用python怎么爬取数据
    使用python怎么爬取数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作