Size: a a a

2020 November 07

AR

Andrey Rahmatullin in Scrapy
это да
источник

ПА

Павел Асеев... in Scrapy
Так собирает только 1 URL. Примерно сделал вот так https://prnt.sc/vf1csu Но в файле стоки пустые, подскажите что тут не так?
источник

S

SoHard 🎄 in Scrapy
Павел Асеев
Так собирает только 1 URL. Примерно сделал вот так https://prnt.sc/vf1csu Но в файле стоки пустые, подскажите что тут не так?
утебя 1 loc
источник

S

SoHard 🎄 in Scrapy
почему ты второй раз его трогаешь в цикле
источник

AR

Andrey Rahmatullin in Scrapy
один урл со страницы или одну страницу?
источник

ПА

Павел Асеев... in Scrapy
Мне нужны все ссылки.
источник

AR

Andrey Rahmatullin in Scrapy
а, ну да, селекторы кривые
источник

ПА

Павел Асеев... in Scrapy
SoHard 🎄
почему ты второй раз его трогаешь в цикле
Да хз, почему 🙂 Экспериментирую )
источник

S

SoHard 🎄 in Scrapy
for link in body.xpath('//loc/text()').getall():
   yield {'url': link}
источник

S

SoHard 🎄 in Scrapy
Павел Асеев
Так собирает только 1 URL. Примерно сделал вот так https://prnt.sc/vf1csu Но в файле стоки пустые, подскажите что тут не так?
удали Lightshot, он тебя к плохим действиям толкает
источник

ПА

Павел Асеев... in Scrapy
Почему?)
источник

S

SoHard 🎄 in Scrapy
Павел Асеев
Почему?)
потому что вместо того чтобы скопировать твой код и помочь, все или забьют хер или будут писать всё с начала
источник

ПА

Павел Асеев... in Scrapy
Понял ) Спасибо огромное ) Всё работает.
источник

8

85345 in Scrapy
Всем привет. При записывании даных в CSV файл нарушаеться порядок записи, а имено я указывал первым столбцом имя, вторым номер таблици и т.д. Но первым записываеться четвертая позиция. Никак не могу понят в чем дело.
Вот код:
# -*- coding: utf-8 -*-
import scrapy
from ..items import NhlItem
import re

class NhlSpider(scrapy.Spider):
   name = 'nhl'
   start_urls = [
       'https://www.nfl.com/players/damiere-byrd/stats/logs/'
   ]

   def parse(self, response):
       items = {}
       reqex = re.compile('(@\w+|\w+)', re.M)
       for name in response.css('tbody'):
           if name:
               for i in range(len(name.xpath('//tr/td[1]/text()').getall())):
                   items['name'] = response.xpath('//*[@id="main-content"]/div[1]/div/section/div/div/div/h1/text()').get()
                   items['namber'] = re.findall('\d+', str(name.xpath('//tr/td[1]/text()').getall()))[i]
                   items['year'] = re.findall('\d+/\d+/\d+', str(name.xpath('//tr/td[2]/text()').getall()))[i]
                   opp = name.xpath('//tr/td[3]/text()').getall()[i]
                   items['opp'] = reqex.findall(opp)
                   items['result'] = re.findall('\w* \d+ - \d+', str(name.xpath('//tr/td[4]/text()').getall()))[i]
                   items['rec'] = re.findall('\d*', str(name.xpath('//tr/td[5]/text()').getall()))[i]
                   yield items
источник

S

SoHard 🎄 in Scrapy
85345
Всем привет. При записывании даных в CSV файл нарушаеться порядок записи, а имено я указывал первым столбцом имя, вторым номер таблици и т.д. Но первым записываеться четвертая позиция. Никак не могу понят в чем дело.
Вот код:
# -*- coding: utf-8 -*-
import scrapy
from ..items import NhlItem
import re

class NhlSpider(scrapy.Spider):
   name = 'nhl'
   start_urls = [
       'https://www.nfl.com/players/damiere-byrd/stats/logs/'
   ]

   def parse(self, response):
       items = {}
       reqex = re.compile('(@\w+|\w+)', re.M)
       for name in response.css('tbody'):
           if name:
               for i in range(len(name.xpath('//tr/td[1]/text()').getall())):
                   items['name'] = response.xpath('//*[@id="main-content"]/div[1]/div/section/div/div/div/h1/text()').get()
                   items['namber'] = re.findall('\d+', str(name.xpath('//tr/td[1]/text()').getall()))[i]
                   items['year'] = re.findall('\d+/\d+/\d+', str(name.xpath('//tr/td[2]/text()').getall()))[i]
                   opp = name.xpath('//tr/td[3]/text()').getall()[i]
                   items['opp'] = reqex.findall(opp)
                   items['result'] = re.findall('\w* \d+ - \d+', str(name.xpath('//tr/td[4]/text()').getall()))[i]
                   items['rec'] = re.findall('\d*', str(name.xpath('//tr/td[5]/text()').getall()))[i]
                   yield items
а какая разница? читай файл согласно подписей колонок
источник

8

85345 in Scrapy
SoHard 🎄
а какая разница? читай файл согласно подписей колонок
Да интересно почему так происходит, раньше такого не было. Да и случаи разные бывают
источник

8

85345 in Scrapy
И собственно говоря там я должен составлять условия что и как формируеться, а не фреймворк.
источник

К

Кирилл in Scrapy
85345
Всем привет. При записывании даных в CSV файл нарушаеться порядок записи, а имено я указывал первым столбцом имя, вторым номер таблици и т.д. Но первым записываеться четвертая позиция. Никак не могу понят в чем дело.
Вот код:
# -*- coding: utf-8 -*-
import scrapy
from ..items import NhlItem
import re

class NhlSpider(scrapy.Spider):
   name = 'nhl'
   start_urls = [
       'https://www.nfl.com/players/damiere-byrd/stats/logs/'
   ]

   def parse(self, response):
       items = {}
       reqex = re.compile('(@\w+|\w+)', re.M)
       for name in response.css('tbody'):
           if name:
               for i in range(len(name.xpath('//tr/td[1]/text()').getall())):
                   items['name'] = response.xpath('//*[@id="main-content"]/div[1]/div/section/div/div/div/h1/text()').get()
                   items['namber'] = re.findall('\d+', str(name.xpath('//tr/td[1]/text()').getall()))[i]
                   items['year'] = re.findall('\d+/\d+/\d+', str(name.xpath('//tr/td[2]/text()').getall()))[i]
                   opp = name.xpath('//tr/td[3]/text()').getall()[i]
                   items['opp'] = reqex.findall(opp)
                   items['result'] = re.findall('\w* \d+ - \d+', str(name.xpath('//tr/td[4]/text()').getall()))[i]
                   items['rec'] = re.findall('\d*', str(name.xpath('//tr/td[5]/text()').getall()))[i]
                   yield items
А где ты тут указал порядок?
источник

8

85345 in Scrapy
Кирилл
А где ты тут указал порядок?
Поочередно записал в items.py
источник

8

85345 in Scrapy
class NhlItem(scrapy.Item):
   # define the fields for your item here like:
   name = scrapy.Field()
   namber = scrapy.Field()
   year = scrapy.Field()
   opp = scrapy.Field()
   result = scrapy.Field()
   rec = scrapy.Field7
источник