Соскоб с питона - PullRequest
       26

Соскоб с питона

0 голосов
/ 22 апреля 2019

Я хочу создать webscrape https://www.esportsearnings.com/tournaments с несколькими условиями и затем экспортировать его в CSV.Условия:

  1. Я хочу, чтобы веб-текст очищался с гиперссылками (<a href ссылка)
  2. Я хочу применить фильтр при веб-очистке данных (например, очистка данных в играх).= Fortnite)
  3. Автоматизация для нескольких веб-страниц (например, после очистки веб-страницы на 1-й странице она должна автоматически очистить 2, 3, 4 и т. Д.)


    импорт bs4 как bsimport urllib.request импорт pandas в формате pd

    source = urllib.request.urlopen ('https://www.esportsearnings.com/tournaments').read() soup = bs.BeautifulSoup (source,' lxml ') table = soup.find (' table ')) table_rows = table.find_all ('tr')

    для tr в table_rows: td = tr.find_all ('td') row = [i.text для i in td] print (row)


Я новичок в Python и не могу выполнить все условия. Приведенный выше код просто отбирает данные. Я хочу автоматизировать его для нескольких страниц, а также экспортировать в CSVКто-нибудь может помочь?

1 Ответ

1 голос
/ 24 апреля 2019
import requests
import xlsxwriter 
from bs4 import BeautifulSoup

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
workbook = xlsxwriter.Workbook('C:/Users/Desktop/data.xlsx') 
worksheet = workbook.add_worksheet()
row = 0
column = 0
linkrow =0

urls = ["https://www.esportsearnings.com/tournaments"] #add more url by adding here
for i in urls:
  page = requests.get(i)
  soup = BeautifulSoup(page.content, 'html.parser')
  i=1
  for link in soup.find_all('a'):
      a=link.get('href')
      worksheet.write(linkrow,0,a)
      print(link.get('href'))
      linkrow += 1
workbook.close()      
# for link in soup.find_all('td'):
#     print(link.get_text())   

Попробуйте этот код

...