前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >打包了个python爬虫程序,让没有python环境的电脑也可以运行!

打包了个python爬虫程序,让没有python环境的电脑也可以运行!

作者头像
Python与Excel之交
发布2021-08-05 14:36:05
1.5K0
发布2021-08-05 14:36:05
举报
文章被收录于专栏:Python与Excel之交

本文图片以及文本仅供学习、交流使用,不做商业用途,如有问题请及时联系我们以作处理。

前言

今天就教大家进行程序打包,写个简单的爬虫程序,爬取某东商品数据,并进行打包,让没有python环境的电脑也可以运行。

分析网页

某东网址:

代码语言:javascript
复制
https://www.jd.com/

该网址是一个动态网站,我们打开开发者工具,进入Network→XHR界面,然后在搜索框输入任一商品,这样会加载出一条get请求的链接。

向下拉动网页,接着他会再次加载出一条链接,说明一个页面会更新两条链接;当点击下一页时,page会也会随之变动。

因为两条链接携带的参数不同以及后期要打包程序,所以需要适当修改,删除些不用的参数。

代码语言:javascript
复制
https://search.jd.com/s_new.php?qrst=1&suggest=1.his.0.0&stock=1&page=1&s=1

实战代码

导入模块。

代码语言:javascript
复制
import pandas as pd
import requests
from lxml import etree
import time

创建DataFrame,构建headers,伪装请求头,防止被服务器识别。

代码语言:javascript
复制
df = pd.DataFrame()
headers = {
    'cookie': '你的cookie',
    'referer': 'https://search.jd.com/Search?keyword=%E6%AF%9B%E8%A1%A3&wq=%E6%AF%9B%E8%A1%A3&page=1&s=1&click=0',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36',
}

构建params参数以及爬取页数,这里使用了input()交互式,可以灵活的想要搜索的商品和想要爬取多少页,然后传入相关参数进行数据的进行请求。

代码语言:javascript
复制
keyword = input('请输入你要搜索的商品:')
params = {
        'keyword': keyword,
        'wd': keyword
    }
s = 1
a = input('请输入你要爬取的页数:')
# int转换为数值类型
for page in range(1, int(a)):
    print('===================正在爬取第{}页数据====================='.format(page))
    url = f'https://search.jd.com/s_new.php?qrst=1&suggest=1.his.0.0&stock=1&page={page}&s={s}'
    res_html = requests.get(url=url, headers=headers, params=params).text

当程序运行时他就会出现以下字段,然后输入相关内容即可:

数据的提取以前都讲解过,这里就不细讲了。

程序打包

打包需要用到一个库-pyinstaller,安装只需要在终端输入以下命令:

代码语言:javascript
复制
pip install pyinstaller

pyinstaller打包命令有很多条,我比较常用下面这条:

代码语言:javascript
复制
pyinstaller -F py文件名称

他的使用也很简单,我们需要先在终端进入写好的程序所在的目录下。

接着复制上面的命令到终端,直接回车即可运行打包。

打包完成后会生成多个文件,而可执行 exe 程序就在dist文件下,我们直接双击即可运行程序,然后输入想要搜索的商品和想要爬取多少页。

小结

1、写爬虫还是需要仔细分析网页,分析好网页是成功的一半了。

2、程序打包在工作中还是很常用的,打包好的程序可以在没有python环境下的电脑运行。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 分析网页
  • 实战代码
  • 导入模块。
  • 程序打包
  • 小结
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档