Web scraping 当我找到值时,如何停止web抓取数据?
我已经得到了这段代码,我可以用Python 2.7在网站上搜索名为“ctable”的all表。但我想阻止它,当它到达这个值为XXXX的“ctable”的值时。我需要直到这个值XXXX。所以,如果它找到了这篇文章,我想停止在这些表格上乱涂乱画 可能吗 这是我的代码:Web scraping 当我找到值时,如何停止web抓取数据?,web-scraping,beautifulsoup,append,findall,Web Scraping,Beautifulsoup,Append,Findall,我已经得到了这段代码,我可以用Python 2.7在网站上搜索名为“ctable”的all表。但我想阻止它,当它到达这个值为XXXX的“ctable”的值时。我需要直到这个值XXXX。所以,如果它找到了这篇文章,我想停止在这些表格上乱涂乱画 可能吗 这是我的代码: soup=BeautifulSoup(x,'lxml') 数据表=[] 对于汤中的ctable.find_all('table','ctable')[:-1]: 对于ctable.find_all('tr')中的记录: 临时数据=[
soup=BeautifulSoup(x,'lxml')
数据表=[]
对于汤中的ctable.find_all('table','ctable')[:-1]:
对于ctable.find_all('tr')中的记录:
临时数据=[]
对于记录中的数据。查找所有('td'):
temp_data.append(data.text.encode('latin-1'))
datatable.append(temp_data)
在代码中实现一个break
操作符:
...
(your code above)
datatable=[]
stop = 0
for ctable in soup.find_all('table', "ctable" )[:-1]:
if stop == 1:
break
for record in ctable.find_all('tr'):
if stop == 1:
break
temp_data = []
for data in record.find_all('td'):
temp_data.append(data.text.encode('latin-1'))
if 'modul' in data.text:
stop = 1
break
datatable.append(temp_data)
我没有注意到你有一个三重for
循环。也许现在可以了
我在每个循环中添加了break
备选方案如果
和中断
:
datatable=[]
stop = 0
for ctable in soup.find_all('table', "ctable" )[:-1]:
for record in ctable.find_all('tr'):
temp_data = []
for data in record.find_all('td'):
temp_data.append(data.text.encode('latin-1'))
if 'modul' in data.text:
stop = 1
break
datatable.append(temp_data)
if stop == 1:
break
if stop == 1:
break
在代码中执行
break
运算符:
...
(your code above)
datatable=[]
stop = 0
for ctable in soup.find_all('table', "ctable" )[:-1]:
if stop == 1:
break
for record in ctable.find_all('tr'):
if stop == 1:
break
temp_data = []
for data in record.find_all('td'):
temp_data.append(data.text.encode('latin-1'))
if 'modul' in data.text:
stop = 1
break
datatable.append(temp_data)
我没有注意到你有一个三重for
循环。也许现在可以了
我在每个循环中添加了break
备选方案如果
和中断
:
datatable=[]
stop = 0
for ctable in soup.find_all('table', "ctable" )[:-1]:
for record in ctable.find_all('tr'):
temp_data = []
for data in record.find_all('td'):
temp_data.append(data.text.encode('latin-1'))
if 'modul' in data.text:
stop = 1
break
datatable.append(temp_data)
if stop == 1:
break
if stop == 1:
break
请给出你从哪里抓取数据的真实链接,因为我可以在我的PCCan上查看我们去私人网站?是的,我们去吧,但我不知道如何切换到聊天=)啊,我还没有任何权利打开私人聊天室:s我不能给你发送此链接,因为这是从登录网站上发送的,使用captcha安全性..所以我决定将这个html源代码下载到一个txt文件中,在python中阅读后,我可以在其中查找这些表。这个break操作符你给我的建议是,这不起作用,因为我在这个break命令之前丢失了所有datatable!请给出你从哪里抓取数据的真实链接,因为我可以在我的PCCan上查看我们去私人网站?是的,我们去吧,但我不知道如何切换到聊天=)啊,我还没有任何权利打开私人聊天室:s我不能给你发送此链接,因为这是从登录网站上发送的,使用captcha安全性..所以我决定将这个html源代码下载到一个txt文件中,在python中阅读后,我可以在其中查找这些表。这个break操作符你给我的建议是,这不起作用,因为我在这个break命令之前丢失了所有datatable!这在我的代码中并不重要:[:-1]它不起作用,你的代码中有一些语法错误。你能复制到这里吗?是的,这是我的错误=)在
if
语句中应该是双“=”。修正好了,我在顶部定义了它-stop=0
。你定义它了吗?=)它是工作的,但这不是我要找的:(我需要在这个break命令之前的数据。用这个代码我会丢失这些数据。这在我的代码中并不重要:[:-1]它不工作,你的代码中有一些语法错误。你可以复制它吗?是的,这是我的错误=)应该是双“=”在if
语句中。修正好了,我在顶部定义了它-stop=0
。你定义它了吗?=)它是工作,但这不是我要找的:(我需要在这个break命令之前的数据。用这个代码我会丢失这些数据。o.o