• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

一个简单的网站爬虫教程,让你了解爬虫的步骤,爬虫网页数据采集

python 搞java代码 3年前 (2022-05-21) 24次浏览 已收录 0个评论

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

项目目标

采集APP推广数据

受害者地址

<code><span class="hljs-attribute">https:<span class="hljs-comment">//www.cpajia.<a href="https://www.gaodaima.com/tag/com" title="查看更多关于com的文章" target="_blank">com</a>/</span></span></code>

www#gaodaima.com来源gaodai#ma#com搞@代~码网搞代码

 

环境

  • Python3.6
  • pycharm
  • requests
  • time
  • csv

相关库用 pip install 安装即可

 

 

 

获取数据内容

 

cap之家数据是动态数据加载的~ 开发者工具可以找到相对应的数据接口

 

请求数据是POST

 

数据内容找到了,单页数据可以直接爬取,如果想要爬取多页数据,那就要分析接口数据url的变化

因为数据接口是post请求,所以一般情况都是data参数的变化,所以查看data参数的变化就可以了~

  • 第一页接口数据data参数

 

 

 

两个接口都是一样的数据,但是data参数不一样,第二个就是感觉data参数就是对应的页数号,所以可以多看几页的data参数的变化

  • 第二页接口数据data参数

 

  • 第三页接口数据data参数

 

这一下就很清楚的看到data参数的变化了~Pagelndex是等差数列 刚好对应的页数

所以再翻页爬取的时候只要改变Pagelndex参数就可以了

爬虫代码

导入相关工具

<span>import</span><span> requests
</span><span>import</span><span> time
</span><span>import</span> csv

 

请求网页

url = <span>"</span><span>https://www.cpajia.com/index.php?m=index&a=search</span><span>"</span><span>
data </span>=<span> {
    </span><span>"</span><span>PageIndex</span><span>"</span>: <span>"</span><span>{}</span><span>"</span><span>.format(page)
}
headers </span>=<span> {
    </span><span>"</span><span>User-Agent</span><span>"</span>: <span>"</span><span>Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36</span><span>"</span><span>
}
response </span>= requests.post(url=url, data=data, headers=headers)

 

解析网页数据

    dit =<span> {}
    </span><span>for</span> i <span>in</span><span> lis:
        dit[</span><span>"</span><span>名称</span><span>"</span>] = i[<span>"</span><span>title</span><span>"</span><span>]
        data_time </span>= int(i[<span>"</span><span>updatetime</span><span>"</span><span>])
        timeArray </span>=<span> time.localtime(data_time)
        otherStyleTime </span>= time.strftime(<span>"</span><span>%Y--%m--%d %H:%M:%S</span><span>"</span><span>, timeArray)
        dit[</span><span>"</span><span>发布时间</span><span>"</span>] =<span> otherStyleTime
        dit[</span><span>"</span><span>单价/元</span><span>"</span>] = i[<span>"</span><span>price</span><span>"</span><span>]
        dit[</span><span>"</span><span>结算方式</span><span>"</span>] = i[<span>"</span><span>balance</span><span>"</span><span>]
        dit[</span><span>"</span><span>数据查看</span><span>"</span>] = i[<span>"</span><span>dataview</span><span>"</span><span>]
        dit[</span><span>"</span><span>电话</span><span>"</span>] = i[<span>"</span><span>phone</span><span>"</span><span>]
        dit[</span><span>"</span><span>微信</span><span>"</span>] = i[<span>"</span><span>wxh</span><span>"</span><span>]
        dit[</span><span>"</span><span>QQ</span><span>"</span>] = i[<span>"</span><span>qq</span><span>"</span><span>]
        dit[</span><span>"</span><span>产品要求</span><span>"</span>] = i[<span>"</span><span>content</span><span>"</span>]

 

保存数据

f = open(<span>"</span><span>APP推广数据.csv</span><span>"</span>, mode=<span>"</span><span>a</span><span>"</span>, encoding=<span>"</span><span>utf-8</span><span>"</span>, newline=<span>""</span><span>)
csv_writer </span>= csv.DictWriter(f, fieldnames=[<span>"</span><span>名称</span><span>"</span>, <span>"</span><span>发布时间</span><span>"</span>, <span>"</span><span>单价/元</span><span>"</span>, <span>"</span><span>结算方式</span><span>"</span>, <span>"</span><span>数据查看</span><span>"</span>, <span>"</span><span>电话</span><span>"</span>, <span>"</span><span>微信</span><span>"</span>, <span>"</span><span>QQ</span><span>"</span>, <span>"</span><span>产品要求</span><span>"</span><span>])
csv_writer.writeheader()</span>

 

运行代码,效果如下图

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:一个简单的网站爬虫教程,让你了解爬虫的步骤,爬虫网页数据采集

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址