用简单的字符串处理从爬虫得到的网页处获取url列表

对网页的结构处理有很多方便的第三方库,在使用第三方库之前先尝试了用字符处理对网页源码提取信息

首先引用urllib

import urllib.request

爬取网页并解码得到源代码

response=urllib.request.urlopen('https://www.baidu.com')
a=response.read().decode('utf-8')
print(type(a))
textlen=len(a)

通过对于html的结构了解可以得知url在html代码中的结构往往是这样的

href="//www.baidu.com/"

因此我们可以先搜索字符串里所有的herf再找到最近的两个引号,在引号之间的基本就是url,下面是代码实现

newfile="url.txt"
f=open(newfile,'w')
while len(a)>5:
    urltext=a.find('href=')
    temp=a[urltext:]
    a=temp
    urlcount=urlcount+1
    urltext=a.find('"')
    temp=a[urltext:]
    a=temp
    urltext=a.find('"',1)
    urldata=a[1:urltext-1]
    print(len(a))
    f.write(urldata+'\n')
print(urlcount)
f.close()

主要通过find()函数定位并截取字符串存到列表中,最后把找到的所有url存到指定的文件中方便后续的处理

 

posted @ 2019-07-22 21:02  btc  阅读(803)  评论(0编辑  收藏  举报