python搜集整个网站的数据

直接上代码,从百度开始,爬取所有

 import requests
from bs4 import BeautifulSoup
headers={'User-Agent':'........'}#写下你的user-agent
pages=set()
#集合可以去重哦,是最简单的去重方法


def getlinks(url):
         html=requests.get(url,headers=headers)
         selector=BeautifulSoup(html.text,'lxml')
         objs=selector.findAll('a',href=re.compile('.*?baidu.com.*?'})#我们寻找baidi页面里的所有符合条件的a标签,返回一个列表
         for link in objs:#对列表进行迭代
             if link.attrs['href'] not in pages:#确保遇到新页面,当然我们上面创建了一个空的集合,也可以省略这一步
                 newpage=link.attrs['src']#提取a标签下的url
                 pages.add(newpage)#把url添加到集合里

                 print('---get a new link---',nwepage)
                 print('len:',len(pages))

                 getlinks(newpage)#从新的页面在此开启爬取

url='https://www.baidu.com'

getlinks(url)#运行代码

这段代码很长时间不会停下来,当然你可以在中间添加条件,比如len(pages)>20的时候break。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值