首页 > 其他 > 详细

简单爬虫结合协程

时间:2016-01-12 06:29:38      阅读:200      评论:0      收藏:0      [点我收藏+]
import requests
import re

url = "http://www.acfun.tv/v/list110/index.htm?from=fixedNav"
context = requests.get(url).text
pattern2 = re.compile(<div class="desc">(.*?)</div>)
pattern3 = re.compile(class="title">(.*?)</a><p class="article-info">)
text2 = pattern2.findall(context)
text3 = pattern3.findall(context)

def show2():
    n = 0
    for text in text2:
        n = yield n
        if not n:
            return
        print(n)
        print(text)


def show3(s):
    s.send(None)
    n = 0
    for text in text3:
        n = n+1
        print(n)
        print(text)
        s.send(n)

    s.close()

s = show2()
show3(s)

 

D:\Programs\Python\Python35\python.exe D:/PycharmProjects/forTest/req.py
Traceback (most recent call last):
1
  File "D:/PycharmProjects/forTest/req.py", line 43, in <module>
每日一笑:玩可乐曼妥思的孩纸
    show3(s)
1
  File "D:/PycharmProjects/forTest/req.py", line 38, in show3
每日一笑:玩可乐曼妥思的孩纸
    s.send(n)
2
StopIteration
广西两男子街头持刀疯狂追砍武警
2
广西两男子街头持刀疯狂追砍武警
3
昆仑万维拟投资控股全球最大同性恋社交网络
3
昆仑万维拟投资控股全球最大同性恋社交网络
4
男子专找套牌车碰瓷不想碰上硬茬 进了局子做了被告
4
男子专找套牌车碰瓷不想碰上硬茬 进了局子做了被告
5
男子被骗2000元后照葫芦画瓢骗人4万元
5
男子被骗2000元后照葫芦画瓢骗人4万元
6
卫计委回应计划生育长期性: 起码坚持二三十年
6
卫计委回应计划生育长期性: 起码坚持二三十年
7
直拍味道 这般香浓
7
本篇文章写了中国国家乒乓球队直拍传统打法所有历程~
8
(转自汇通网)中国CPI通缩政府拒绝刺激,信贷危机或将主导全球经济
8
中国CPI数据持续通缩,总理称不会有强刺激出台。据彭博社数据,目前真正的问题不是在于中国企业的收益下滑,而是在于银行系统巨大的不良债务,下一轮经济周期将是信贷危机主导。
9
日本动物园猴子选美 男职员“混入”雄猴组参赛
9
日本动物园猴子选美 男职员“混入”雄猴组参赛
10
这世上竟有比中国大妈更厉害的物种,叫做“大阪大妈”
10
这世上竟有比中国大妈更厉害的物种,叫做“大阪大妈”
11
挪威高中首开电竞课(转自u9)
11
近日,挪威一家媒体爆出该国有一所高中学校即将开设电竞课程..
12
中国钢铁产能过剩 却生产不了圆珠笔的“圆珠”
12
中国钢铁产能过剩 却生产不了圆珠笔的“圆珠”
 
Process finished with exit code 1
 
 
 
 
存在报错,改写show3
 
def show3(s):
    s.send(None)
    n = 0
    m = 0
    for i in text3:
        m = m+1
    for text in text3:
        n = n+1
        print(n)
        print(text)
        if n<m:
            s.send(n)

    s.close()

 



虽然避免了报错,但是show2少执行了一次
换种思路,show2执行次数由show3控制,show改为while true循环


import requests
import re

url = "http://www.acfun.tv/v/list110/index.htm?from=fixedNav"
context = requests.get(url).text
pattern2 = re.compile(<div class="desc">(.*?)</div>)
pattern3 = re.compile(class="title">(.*?)</a><p class="article-info">)
text2 = pattern2.findall(context)
text3 = pattern3.findall(context)

def show2():
    n = 0
    text = (x for x in text2)
    while True:
        n = yield
        if not n:
            return
        print(n)
        print(next(text))



def show3(s):
    s.send(None)
    n = 0
    for text in text3:
        n = n+1
        print(n)
        print(text)
        s.send(n)
    s.close()

s = show2()
show3(s)

 

D:\Programs\Python\Python35\python.exe D:/PycharmProjects/forTest/req.py
1
“发现水利精彩瞬间·2015”评出优秀作品
1
“发现水利精彩瞬间·2015”评出优秀作品
2
德国:科隆性骚扰案嫌疑人几乎都不是德国人
2
德国:科隆性骚扰案嫌疑人几乎都不是德国人
3
就是缠着你 澳洲章鱼吸附潜水员手臂
3
就是缠着你 澳洲章鱼吸附潜水员手臂
4
防不胜防!女骗子新技能 身上涂迷药
4
防不胜防!女骗子新技能 身上涂迷药
5
巴基斯坦“山寨”中国武器行销世界
5
巴基斯坦“山寨”中国武器行销世界
6
为啥小李拿了个金球影帝,媒体们都疯了?
6
小李这一得奖,全球各地的网友们都高兴坏了。连媒体们报道里都写,宣布小李得奖时,“全场起立鼓掌”...
7
调查:“95后”12岁开始谈恋爱 第一次性行为17岁
7
调查:“95后”12岁开始谈恋爱 第一次性行为17岁
8
【福利来了】一周全球大湿级动漫游戏Cosplay美图
8
【福利来了】一周全球大湿级动漫游戏Cosplay美图
9
温州小伙告赢《非诚》 合伙人曝反转剧情
9
温州小伙告赢《非诚》 合伙人曝反转剧情
10
男子自称帮银行讨债 用清障车当街强拖“按揭车”
10
男子自称帮银行讨债 用清障车当街强拖“按揭车”
11
男子因朋友找自己女友玩 醋意大发当街砍人(图)
11
男子因朋友找自己女友玩 醋意大发当街砍人(图)
12
男子店铺贴招租信息 手机号被城管“呼死你”
12
男子店铺贴招租信息 手机号被城管“呼死你”
 
Process finished with exit code 0
 

简单爬虫结合协程

原文:http://www.cnblogs.com/linxingyi/p/5123097.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!