首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >爬虫数据表单网站使用Scrapy1.5.0-Python

爬虫数据表单网站使用Scrapy1.5.0-Python
EN

Stack Overflow用户
提问于 2018-06-06 05:09:25
回答 4查看 394关注 0票数 0

我尝试用Scrapy (1.5.0)- Python从网站上抓取数据。

项目目录:

代码语言:javascript
复制
stack/
    scrapy.cfg           

    stack/            
        __init__.py

        items.py          

        pipelines.py      

        settings.py       

        spiders/         
            __init__.py
              stack_spider.py

这是我的items.py

代码语言:javascript
复制
import scrapy

class StackItem(scrapy.Item):
    title = scrapy.Field()

这是stack_spider.py

代码语言:javascript
复制
from scrapy import Spider
from scrapy.selector import Selector

from stack.items import StackItem

class StackSpider(Spider):
    name = "stack"
    allowed_domains = ["batdongsan.com.vn"]
    start_urls = [
        "https://batdongsan.com.vn/nha-dat-ban",
    ]

    def parse(self, response):
        questions = Selector(response).xpath('//div[@class="p-title"]/h3')

        for question in questions:
            item = StackItem()
            item['title'] = question.xpath(
                'a/text()').extract()[0]

            yield item

我不知道为什么我不能抓取数据,我真的需要你的帮助。谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-06-06 09:29:29

设置用户代理

去你的刮擦项目settings.py

把这个贴进去,

代码语言:javascript
复制
USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
票数 1
EN

Stack Overflow用户

发布于 2018-06-06 05:23:23

如果你只想抓取网站并获得源代码,这可能会有所帮助。

代码语言:javascript
复制
import urllib.request as req

def imLS():
    url = "https://batdongsan.com.vn/nha-dat-ban"
    data = req.Request(url)
    resp = req.urlopen(data)
    respData = resp.read()
    print(respData)
imLS()
票数 1
EN

Stack Overflow用户

发布于 2018-06-06 07:52:42

找到答案:http://edmundmartin.com/random-user-agent-requests-python/需要设置头部以通过防止爬行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50712607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档