用简单的字符串处理从爬虫得到的网页处获取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存到指定的文件中方便后续的处理