24小时热门版块排行榜    

查看: 4063  |  回复: 19

惟舞幽游

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 菜鸟学python at 2016-07-29 15:58:43
同求,这个困让我很久了

你到哪一步了

发自小木虫Android客户端
11楼2016-08-05 23:00:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

邪恶胖子

铜虫 (正式写手)

引用回帖:
8楼: Originally posted by 惟舞幽游 at 2016-08-05 22:57:57
刚刚学习,老师催的急,有什么快速学习的好规划吗?
...

快就用框架,然后直接正则表达式处理文本就好了

发自小木虫Android客户端
Just fight like a real man.
12楼2016-08-05 23:03:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惟舞幽游

新虫 (初入文坛)

引用回帖:
12楼: Originally posted by 邪恶胖子 at 2016-08-05 23:03:56
快就用框架,然后直接正则表达式处理文本就好了
...

尝试过scrapy框架,可能学的时间太短,spider里还不怎么会实现想要的功能,正则总是记不住

发自小木虫Android客户端
13楼2016-08-05 23:08:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

JumperSX

新虫 (初入文坛)

先看能不能直接构造url,不行的话看看有没有api,再没有的话就用fiddler抓包,看能不能分析数据包。再不行的话我也不会了。

发自小木虫Android客户端
14楼2016-08-05 23:36:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

邪恶胖子

铜虫 (正式写手)

引用回帖:
13楼: Originally posted by 惟舞幽游 at 2016-08-05 23:08:02
尝试过scrapy框架,可能学的时间太短,spider里还不怎么会实现想要的功能,正则总是记不住
...

scrpay够你学的,正则是必须学的

发自小木虫Android客户端
Just fight like a real man.
15楼2016-08-05 23:38:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wy_zidu2012

金虫 (小有名气)

引用回帖:
7楼: Originally posted by 惟舞幽游 at 2016-08-05 22:54:13
谢谢你,目前用selenium实现了关键词自动输入搜索,但不知道怎么判断一个页面是否抓完,然后再翻页抓下一页
...

selenium没用过,只写过原生实现和scrapy。
基本原理是,请求一个页面,先保存页面中搜索结果位置处的连接在队列中,也就是通过bs4把含有下一层的连接拿到,然后要抓什么东西直接自己修改就可以。至于翻页的逻辑,大多数网站的URL中都有一个表示当前页码的字段,一般的网站的时候,当前页码都是通过get方法发送,所以直接修改请求的URL就可以拿到下一页了。如果实在找不到,可以抓包,看下处理过程,然后再操作。
16楼2016-08-06 08:39:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惟舞幽游

新虫 (初入文坛)

引用回帖:
14楼: Originally posted by JumperSX at 2016-08-05 23:36:40
先看能不能直接构造url,不行的话看看有没有api,再没有的话就用fiddler抓包,看能不能分析数据包。再不行的话我也不会了。

谢谢啦,我摸索摸索

发自小木虫Android客户端
17楼2016-08-06 08:46:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惟舞幽游

新虫 (初入文坛)

引用回帖:
16楼: Originally posted by wy_zidu2012 at 2016-08-06 08:39:46
selenium没用过,只写过原生实现和scrapy。
基本原理是,请求一个页面,先保存页面中搜索结果位置处的连接在队列中,也就是通过bs4把含有下一层的连接拿到,然后要抓什么东西直接自己修改就可以。至于翻页的逻辑, ...

感谢,再摸索摸索,不会了再请教你

发自小木虫Android客户端
18楼2016-08-06 08:52:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

邪恶胖子

铜虫 (正式写手)

【答案】应助回帖


真拿你没办法
木虫上面貌似没有代码块啊!
给你一个简单的吧
这个是一个简单的抓取百度的展示:

import urllib.request
import urllib.parse
import gzip
import io

#baidu
url = 'http://www.baidu.com/'
#360
url = 'https://www.so.com/'
client_header = {
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive',
    'Host': 'www.baidu.com',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36',
    'Referer': 'http://www.baidu.com/'
}

#baidu
params = urllib.parse.urlencode({'word': 'test','tn': '94755996_hao_pg'})
url = "http://www.baidu.com/s?%s" % params
#360
# params = urllib.parse.urlencode({'q': 'test'})
# url = "http://www.so.com/s?%s" % params
print(url)
req = urllib.request.Request(url,headers=client_header)
with urllib.request.urlopen(req,timeout=1000) as f:

    buf = io.BytesIO(f.read())
    gf = gzip.GzipFile(fileobj=buf,mode='rb')
    html = gf.read().decode('utf-8')
    print(html)
    f = open('baidu.txt','wb+')
    f.write(bytes(html.encode('utf-8')))
    f.close()

模拟的是火狐的浏览器,最简单的,你看一下吧!希望对你有帮助
Just fight like a real man.
19楼2016-08-06 13:15:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

邪恶胖子

铜虫 (正式写手)

【答案】应助回帖

注意了,每个搜索引擎的参数和验证方法不一样,多用自己喜欢的工具抓包,很简单的
Just fight like a real man.
20楼2016-08-06 13:16:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 惟舞幽游 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 时间戳又变了 +11 wuchongjun 2026-08-20 15/750 2026-08-20 17:28 by wuchongjun
[基金申请] 只有每年这种时候来逛逛小木虫 +21 yaoyewhu2008 2026-08-20 22/1100 2026-08-20 17:03 by yaoyewhu2008
[基金申请] 今天系统多次维护,明天很可能放榜! +9 zju2000 2026-08-16 10/500 2026-08-20 15:56 by Leogzhya
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 言之凿凿,明天官网会通知放榜? +14 医学老男孩 2026-08-20 16/800 2026-08-20 15:47 by LNP@mRNA
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +16 Ldrop2023 2026-08-13 20/1000 2026-08-20 11:07 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见