鱼C论坛

 找回密码
 立即注册
查看: 2003|回复: 15

[已解决]Python爬虫项目 动态网页 求解决(微信小红包)

[复制链接]
发表于 2019-9-3 23:00:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 huazisheng 于 2019-9-4 17:04 编辑

目标网址:

http://gs.amac.org.cn/amac-infod ... er/managerList.html

批量爬取内容:

例子:http://gs.amac.org.cn/amac-infod ... r/101000000138.html

图片1.png

图片3.png

最后一列主要是存放文字数据即可,后续,用于搜索关键词

爬取该页面网址+上述10个栏目内容,共11个列头,写入CSV文件,到指定文件夹下,例如,D:/资料/
最佳答案
2019-9-5 13:33:23
本帖最后由 Stubborn 于 2019-9-5 13:35 编辑

http://gs.amac.org.cn/amac-infod ... ;page=1&size=20      这个是翻页的链接   参数
  1. rand: 0.6122678870895568
  2. page: 1
  3. size: 20
复制代码
看情况,改下page,可以直接请求到,看了下,需要的参数这个链接都有返回,直接请求这个接口

动态网页,重点抓在翻页的时候,向哪里请求到的数据源
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-9-4 09:38:24 | 显示全部楼层
我刚试了下,不是很简单么,有点爬虫基础应该就能弄出来的啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-9-5 07:25:01 | 显示全部楼层
空青 发表于 2019-9-4 09:38
我刚试了下,不是很简单么,有点爬虫基础应该就能弄出来的啊。

请给出源码,让大家一起研究学习,然后,私聊我,微信红包奉上。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-5 08:04:48 | 显示全部楼层
1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-5 08:45:01 | 显示全部楼层
基金.rar (11.87 KB, 下载次数: 7)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-5 13:33:23 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Stubborn 于 2019-9-5 13:35 编辑

http://gs.amac.org.cn/amac-infod ... ;page=1&size=20      这个是翻页的链接   参数
  1. rand: 0.6122678870895568
  2. page: 1
  3. size: 20
复制代码
看情况,改下page,可以直接请求到,看了下,需要的参数这个链接都有返回,直接请求这个接口

动态网页,重点抓在翻页的时候,向哪里请求到的数据源
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-9-5 17:28:31 | 显示全部楼层


不是一页啊,是目标:http://gs.amac.org.cn/amac-infod ... er/managerList.html
共计2万多家企业信息
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-5 17:49:03 | 显示全部楼层
自己使用正则去匹配所有链接,这里是学习的,不是来要结果的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-10 15:26:19 | 显示全部楼层
  1. import requests
  2. from lxml import etree
  3. import time
  4. import csv
  5. fp=open('C:/Users/Administrator/Desktop/simu.csv','wt',newline='',encoding='utf-8')
  6. writer=csv.writer(fp)
  7. writer.writerow(('网址','企业名称','负责人','成立时间','注册地址','办公地址','实缴资本','机构类型','全职人数','资格人数','机构网址'))
  8. headers = {
  9.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
  10. }
  11. def get_info(url):
  12.         res=requests.get(url,headers=headers)
  13.         res.raise_for_status()
  14.         res.encoding=res.apparent_encoding
  15.         seletctor=etree.HTML(res.text)
  16.         企业名称=seletctor.xpath('//*[@id="complaint1"]')[0].text[:-6]
  17.         成立时间=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[7]/td[4]')[0].text
  18.         注册地址=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[8]/td[2]')[0].text
  19.         办公地址=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[9]/td[2]')[0].text
  20.         实缴资本=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[10]/td[4]')[0].text
  21.         机构类型=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[12]/td[2]')[0].text
  22.         全职人数=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[13]/td[2]')[0].text
  23.         资格人数=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[13]/td[4]')[0].text
  24.         负责人=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[22]/td[2]')[0].text
  25.         机构网址=seletctor.xpath('/html/body/div/div[2]/div/table/tbody/tr[14]/td[2]/a')[0].text
  26. urls=['http://gs.amac.org.cn/amac-infodisc/api/pof/manager?rand=0.9208465968384951&page={}&size=100'.format(number) for number in range(1,244)]
  27. for url in urls:
  28.         get_info(url)
  29.         write.writerow((url,企业名称,负责人,成立时间,注册地址,办公地址,实缴资本,机构类型,全职人数,资格人数,机构网址))
  30.         time.sleep(2)
  31. fp.close()
复制代码


QQ图片20190910152451.png

已经很努力了,但还没搞好,求大佬指点。

@kaohsing
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-10 15:28:25 | 显示全部楼层
Stubborn 发表于 2019-9-5 13:33
http://gs.amac.org.cn/amac-infodisc/api/pof/manager?rand=0.6122678870895568&page=1&size=20      这个 ...

rand的参数,每次都是变化的,size改为100,page最多243页
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-10 15:38:13 | 显示全部楼层
本帖最后由 huazisheng 于 2019-9-10 15:39 编辑
  1. 企业名称=re.findall(r'<div id="complaint1" style="display: none;">(.*?) &nbsp</div>',res.text)[0]
  2.         #成立时间=re.findall(r'<td class="td-title">成立时间:</td>    <td class="td-content">(.*?)</td>',res.text)
  3.         注册地址=re.findall(r'<td class="td-content" colspan="3">(.*?)</td>',res.text)[1]
  4.         办公地址=re.findall(r'<td class="td-content" colspan="3">(.*?)</td>',res.text)[2]
  5.         实缴资本=re.findall(r'<td class="td-content">(.*?)</td>',res.text)[1]
  6.         机构类型=re.findall(r'<td class="td-content">(.*?)</td>',res.text)[3]
  7.         全职人数=re.findall(r'<td class="td-content">(.*?)</td>',res.text)[4]
  8.         资格人数=re.findall(r'<td class="td-content">(.*?)</td>',res.text)[5]
  9.         #负责人=re.findall(r'<td class="td-content" colspan="3">(.*?)</td>',res.text)[3]
  10.         #机构网址=re.findall(r"(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*,]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)|([a-zA-Z]+.\w+\.+[a-zA-Z0-9\/_]+)",res.text)
复制代码


正则寻找,有几个会变化,头痛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-10 19:00:32 | 显示全部楼层
这个应该不难吧。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-10 19:05:08 | 显示全部楼层
风丶少 发表于 2019-9-10 19:00
这个应该不难吧。。

我是编程小白,新手,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-26 17:59:15 | 显示全部楼层
空青 发表于 2019-9-4 09:38
我刚试了下,不是很简单么,有点爬虫基础应该就能弄出来的啊。

怎么弄啊。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-26 18:00:24 | 显示全部楼层
Stubborn 发表于 2019-9-5 13:33
http://gs.amac.org.cn/amac-infodisc/api/pof/manager?rand=0.6122678870895568&page=1&size=20      这个 ...

这个参数 应该怎么传入呢。。post方式 data传入么。还需要什么必备参数么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-18 06:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表