Asked Aug 23rd, 8:22 AM 96 0 1
  • 96 0 1
0

Lỗi khi lấy dữ liệu trên web bằng Scapy

Share
  • 96 0 1

ai đã từng lấy dữ liệu trên web bằng scapy thì chỉ e với ạ.e chay mà toán báo lỗi . E làm theo hướng dẫn theo bài bạn này viết ạ https://viblo.asia/p/crawl-du-lieu-trang-web-voi-scrapy-E375zWr1KGW

Aug 23rd, 10:08 AM

Bạn có thể copy code cho vào trong thẻ code để mình có thể dễ đọc được không? Cho code trong

```python

[....]

```

Như này này,

print("i'm Quang")
0
| Reply
Share
Aug 24th, 1:51 AM

@QuangPH

from scrapy import Spider
from scrapy.selector import Selector
from crawler.items import CrawlerItem

class CrawlerSpider(Spider):
    name = "crawler"
    allowed_domains = ["thegioididong.com"]
    start_urls = [
        "https://www.thegioididong.com/dtdd/samsung-galaxy-a50",
    ]

    def parse(self, response):
        questions = Selector(response).xpath('//ul[@class="listcomment"]/li')

        for question in questions:
            item = CrawlerItem()

            item['User'] = question.xpath(
                'div[@class="rowuser"]/a/strong/text()').extract_first()
            item['Comment'] = question.xpath(
                'div[@class="question"]/text()').extract_first()
            item['Time'] = question.xpath(
                'div[@class="actionuser"]/a[@class="time"]/text()').extract_first()

            yield item

đây ban

0
| Reply
Share

1 ANSWERS


Answered Aug 24th, 2:40 AM
Accepted
+1

Nếu nhìn vào shell cmd của bạn thì mình đoán chỉ là bạn chạy lệnh sai thôi. Để chạy 1 crawler bạn không thể chạy lệnh như 1 file python bình thường được. Kiểu như này chạy sẽ báo lỗi như của bạn:

python -u crawler_spider.py

Để chạy được, bạn phải sử dụng lệnh:

scrapy runspider <đường dẫn tới file crawler_spider.py>

Hoặc bạn mở cmd tại thư mục crawler\crawler\spiders, khi đã ở trong thư mực spiders, bạn chạy lệnh

scrapy crawl crawler -o comments.json
Share
Aug 24th, 2:55 AM

minh dung sublitext ma

0
| Reply
Share
Aug 24th, 2:57 AM

@MAINT ah minh dung cmd thi file chay.thế làm sao để chay được sublitext bạn ơi

0
| Reply
Share
Aug 24th, 3:02 AM

@MAINT Ồ, mình không dùng Sublime text nên không để ý nó không có cmd, vậy thì chỉ có cách là bạn mở cmd bên ngoài để chạy thôi. Code bạn đúng rồi không cần sửa gì, chỉ là mở cmd bên ngoài và chạy như vừa mình bảo thôi.

0
| Reply
Share
Aug 24th, 3:10 AM

@QuangPH chen kieu nay a bạn from scrapy import Spider

from scrapy.selector import Selector

from crawler.items import CrawlerItem

scrapy runspider <"C:\Users\MAITHANH\OneDrive\python\scapy\crawler\crawler\spiders">

class CrawlerSpider(Spider): name = "crawler" allowed_domains = ["thegioididong.com"] start_urls = [ "https://www.thegioididong.com/dtdd/samsung-galaxy-a50", ]

0
| Reply
Share
Aug 24th, 3:50 AM
Aug 24th, 3:53 AM

@MAINT Ồ, mình không dùng Sublime text nên không để ý nó không có cmd, vậy thì chỉ có cách là bạn mở cmd bên ngoài để chạy thôi. Code bạn đúng rồi không cần sửa gì, chỉ là mở cmd bên ngoài và chạy như vừa mình bảo thôi.

0
| Reply
Share
Aug 24th, 3:59 AM

@QuangPH ok thanks ban nhiều nhé

0
| Reply
Share