huazisheng 发表于 2019-9-3 23:00:44

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

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

目标网址:

http://gs.amac.org.cn/amac-infodisc/res/pof/manager/managerList.html

批量爬取内容:

例子:http://gs.amac.org.cn/amac-infodisc/res/pof/manager/101000000138.html





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

爬取该页面网址+上述10个栏目内容,共11个列头,写入CSV文件,到指定文件夹下,例如,D:/资料/

空青 发表于 2019-9-4 09:38:24

我刚试了下,不是很简单么,有点爬虫基础应该就能弄出来的啊。

huazisheng 发表于 2019-9-5 07:25:01

空青 发表于 2019-9-4 09:38
我刚试了下,不是很简单么,有点爬虫基础应该就能弄出来的啊。

请给出源码,让大家一起研究学习,然后,私聊我,微信红包奉上。

kaohsing 发表于 2019-9-5 08:04:48

kaohsing 发表于 2019-9-5 08:45:01

Stubborn 发表于 2019-9-5 13:33:23

本帖最后由 Stubborn 于 2019-9-5 13:35 编辑

http://gs.amac.org.cn/amac-infodisc/api/pof/manager?rand=0.6122678870895568&page=1&size=20      这个是翻页的链接   参数 rand: 0.6122678870895568
page: 1
size: 20看情况,改下page,可以直接请求到,看了下,需要的参数这个链接都有返回,直接请求这个接口

动态网页,重点抓在翻页的时候,向哪里请求到的数据源

huazisheng 发表于 2019-9-5 17:28:31

kaohsing 发表于 2019-9-5 08:45


不是一页啊,是目标:http://gs.amac.org.cn/amac-infodisc/res/pof/manager/managerList.html
共计2万多家企业信息

jinlovelive 发表于 2019-9-5 17:49:03

自己使用正则去匹配所有链接,这里是学习的,不是来要结果的

huazisheng 发表于 2019-9-10 15:26:19

import requests
from lxml import etree
import time
import csv
fp=open('C:/Users/Administrator/Desktop/simu.csv','wt',newline='',encoding='utf-8')
writer=csv.writer(fp)
writer.writerow(('网址','企业名称','负责人','成立时间','注册地址','办公地址','实缴资本','机构类型','全职人数','资格人数','机构网址'))
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
}
def get_info(url):
        res=requests.get(url,headers=headers)
        res.raise_for_status()
        res.encoding=res.apparent_encoding
        seletctor=etree.HTML(res.text)
        企业名称=seletctor.xpath('//*[@id="complaint1"]').text[:-6]
        成立时间=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td').text
        注册地址=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td').text
        办公地址=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td').text
        实缴资本=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td').text
        机构类型=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td').text
        全职人数=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td').text
        资格人数=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td').text
        负责人=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td').text
        机构网址=seletctor.xpath('/html/body/div/div/div/table/tbody/tr/td/a').text
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)]
for url in urls:
        get_info(url)
        write.writerow((url,企业名称,负责人,成立时间,注册地址,办公地址,实缴资本,机构类型,全职人数,资格人数,机构网址))
        time.sleep(2)
fp.close()



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

@kaohsing

huazisheng 发表于 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页

huazisheng 发表于 2019-9-10 15:38:13

本帖最后由 huazisheng 于 2019-9-10 15:39 编辑

企业名称=re.findall(r'<div id="complaint1" style="display: none;">(.*?) &nbsp</div>',res.text)
        #成立时间=re.findall(r'<td class="td-title">成立时间:</td>    <td class="td-content">(.*?)</td>',res.text)
        注册地址=re.findall(r'<td class="td-content" colspan="3">(.*?)</td>',res.text)
        办公地址=re.findall(r'<td class="td-content" colspan="3">(.*?)</td>',res.text)
        实缴资本=re.findall(r'<td class="td-content">(.*?)</td>',res.text)
        机构类型=re.findall(r'<td class="td-content">(.*?)</td>',res.text)
        全职人数=re.findall(r'<td class="td-content">(.*?)</td>',res.text)
        资格人数=re.findall(r'<td class="td-content">(.*?)</td>',res.text)
        #负责人=re.findall(r'<td class="td-content" colspan="3">(.*?)</td>',res.text)
        #机构网址=re.findall(r"(http?://(?:||[$-_@.&+]|[!*,]|(?:%))+)|(+.\w+\.++)",res.text)

正则寻找,有几个会变化,头痛

风丶少 发表于 2019-9-10 19:00:32

这个应该不难吧。。

huazisheng 发表于 2019-9-10 19:05:08

风丶少 发表于 2019-9-10 19:00
这个应该不难吧。。

我是编程小白,新手,谢谢{:9_221:}

落叶孤尘 发表于 2020-4-26 17:59:15

空青 发表于 2019-9-4 09:38
我刚试了下,不是很简单么,有点爬虫基础应该就能弄出来的啊。

怎么弄啊。。

落叶孤尘 发表于 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传入么。还需要什么必备参数么
页: [1]
查看完整版本: Python爬虫项目 动态网页 求解决(微信小红包)