Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 错误:pyMySQL在scrapy的爬行器中不工作_Python 3.x_Scrapy_Scrapy Spider_Pymysql - Fatal编程技术网

Python 3.x 错误:pyMySQL在scrapy的爬行器中不工作

Python 3.x 错误:pyMySQL在scrapy的爬行器中不工作,python-3.x,scrapy,scrapy-spider,pymysql,Python 3.x,Scrapy,Scrapy Spider,Pymysql,当我在python中的scrapy项目中导入pyMysql库时,它给出了一个找不到模块的错误。我想问一下如何在scrapy项目的python文件中导入pyMysql库。当我在简单python中导入pyMySQL时,它工作正常 在由命令“genspider spider_name(url)”生成的spider中,我使用了给出错误的代码 enter code here import scrapy from amazon.items import AmazonItem import pymysql

当我在python中的scrapy项目中导入pyMysql库时,它给出了一个找不到模块的错误。我想问一下如何在scrapy项目的python文件中导入pyMysql库。当我在简单python中导入pyMySQL时,它工作正常

在由命令“genspider spider_name(url)”生成的spider中,我使用了给出错误的代码

enter code here

import scrapy
from amazon.items import AmazonItem
import pymysql


class AmazonProductSpider(scrapy.Spider):
    name = "AmazonDeals"
    allowed_domains = ["amazon.com"]

# Use working product URL below
start_urls = [
    "https://www.amazon.com/gp/product/B01IO0QWJA","https://www.amazon.in/Mi-Redmi-5-Gold-32GB/dp/B0756RF9KY"
]

def parse(self, response):
    items = AmazonItem()
    title = response.xpath('//h1[@id="title"]/span/text()').extract()
    sale_price = response.xpath('//span[contains(@id,"ourprice") or contains(@id,"saleprice")]/text()').extract()
    category = response.xpath('//a[@class="a-link-normal a-color-tertiary"]/text()').extract()
    availability = response.xpath('//div[@id="availability"]//text()').extract()
    items['product_name'] = ''.join(title).strip()
    items['product_sale_price'] = ''.join(sale_price).strip()
    items['product_category'] = ','.join(map(lambda x: x.strip(), category)).strip()
    items['product_availability'] = ''.join(availability).strip()
    yield items
检查模块是否已安装:

python -c "import pymysql"
如果一切正常,此命令将不返回任何内容

如果返回ModuleNotFoundError,则使用pip:

pip install PyMySQL

它已经安装并在简单的python程序中工作。您可以提供一些源代码来重现问题吗?问题可能来自您的环境。只有当我试图直接从shell执行脚本时,我才会收到您的错误。如果我使用python[scriptfilename]执行脚本,一切都正常。但是当我使用python[scriptfilename]执行脚本时,它会给我一个错误,即scrapy模块未找到。您使用conda吗?