用python拉网页

2024-05-29 03:44:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在webscrapehttps://www.esportsearnings.com/tournaments中添加一些条件,然后将其导出到CSV。条件是:

  1. 我想要网页上的超链接(<a href链接)刮文本
  2. 我想在网页抓取数据时应用过滤器(例如,抓取games=Fortnite的数据)
  3. 自动处理多个网页(例如,在第一个网页被刮除后,它应该自动刮除2、3、4等)


    将bs4作为bs导入 导入urllib.request请求 作为pd导入

    来源=urllib.request.urlopen('https://www.esportsearnings.com/tournaments').read() 汤=美苏理学学士(来源,“lxml”) 表=汤.找(“表”) 表\u行=表.find\u all('tr')

    对于表\u行中的tr: td=tr.全部查找(‘td’) 行=[td中i的i.text] 打印(行)


我是python新手,不能完成所有条件。上面所写的代码只是删除了数据。我想自动多页,以及导出到csv它。 有人能帮忙吗?你知道吗


Tags: csv数据com网页requestwww来源urllib
1条回答
网友
1楼 · 发布于 2024-05-29 03:44:55
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())   

尝试此代码

相关问题 更多 >

    热门问题