Reputation: 7
Code of program
import sys
import logging
from pysitemap import crawler
import pandas
df = pandas.read_excel(r'absoltepath')
for index, row in df.iterrows():
#row name where excel data exist
Url=row['data']
if __name__ == '__main__':
if '--iocp' in sys.argv:
from asyncio import events, windows_events
sys.argv.remove('--iocp')
logging.info('using iocp')
el = windows_events.ProactorEventLoop()
events.set_event_loop(el)
#storing name
crawler(Url, out_file=f'{index}sitemap.xml')
Error
RuntimeError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_8812\3669626430.py in 11 events.set_event_loop(el) 12 #storing name ---> 13 crawler(Url, out_file=f'{index}sitemap.xml')
~\anaconda3\lib\site-packages\pysitemap_init_.py in crawler(root_url, out_file, out_format, maxtasks, exclude_urls) 19 if exclude_urls: 20 c.set_exclude_url(urls_list=exclude_urls) ---> 21 loop.run_until_complete(c.run()) 22 23 try:
~\anaconda3\lib\asyncio\base_events.py in run_until_complete(self, future) 568 future.add_done_callback(_run_until_complete_cb) 569 try: --> 570 self.run_forever() 571 except: 572 if new_task and future.done() and not future.cancelled():
~\anaconda3\lib\asyncio\base_events.py in run_forever(self) 523 self._check_closed() 524 if self.is_running(): --> 525 raise RuntimeError('This event loop is already running') 526 if events._get_running_loop() is not None: 527 raise RuntimeError(
RuntimeError: This event loop is already running
Upvotes: 0
Views: 106
Reputation: 7
I found myself a solution
import sys
import logging
from pysitemap import crawler
import pandas
if __name__ == '__main__':
if '--iocp' in sys.argv:
from asyncio import events, windows_events
sys.argv.remove('--iocp')
logging.info('using iocp')
el = windows_events.ProactorEventLoop()
events.set_event_loop(el)
df = pandas.read_excel(r'absolutepath')
for index, row in df.iterrows():
#row name where excel data exist
Url=row['data']
#storing name
crawler(Url, out_file=f'{index}sitemap.xml')
Upvotes: 0