我正在尝试将网站源代码保存到我的MySQL数据库中。使用urllib成功检索到源文件。下一步,保存数据。与数据库的连接没有问题,问题出在源代码的保存上,因为当我从insert语句中删除源代码时,一切都很正常。
# get the webpage source
f = urllib.urlopen(row_urls['url'])
source_fetched = f.read()
f.close()
# Save the webpage source
scrapy_url_id = row_urls['id']
我正在建立一个小项目在Scrapy和是新的Scrapy。当我运行我的蜘蛛时,它在我的管道中显示一个异常错误,上面写着:
项目‘’Number‘,exceptions.IndexError:列出超出范围的索引
我的管道文件:
import sys
from scrapy.utils.python import unicode_to_str
import MySQLdb
from project2.settings import MYSQL
# the Pipeline settings.
class MySQLStorePipeline(object):
def __ini
我的包裹依赖于PyMySQL。
问题:
然后,我将包上传到test.pypi.org并尝试安装pip install -U -i https://testpypi.python.org/pypi scrapy-mysql-pipeline,我的代码中出现了一个异常,因为test.pypi.org上的PyMySQL版本是0.6.3-rc1,而不是当前的0.7.11 my setup.py:
import setuptools
import os
if "PY_DEV" in os.environ:
import pypandoc
with open('R
我想将的输出保存到MySQL,但我想了解为什么在item管道中出现了以下错误:
ImportError: No module named MySQLdb
Exception AttributeError: "'QuotePipeline' object has no attribute 'dbpool'"
使用Ubuntu16.04和Python3.5.2。
如果有人能告诉我这件事出了什么问题,我们会非常感激的,非常感谢!
以下是相关代码:
/spiders/quotes.py
import scrapy
class QuotesSpider
我正在用python3编写一个带有scrapy的爬虫,而l刚开始使用scrapy并不是很久。我正在捕获一个网站的数据,几分钟后,网站可能会给我获取302状态,并重定向到另一个url来验证我。所以l想把url保存到文件中。 例如,https://www.test.com/article?id=123是我想要请求的,然后它会响应我302并重定向到https://www.test.com/vrcode 我想要将https://www.test.com/article?id=123保存到文件中,我应该怎么做? class CatchData(scrapy.Spider):
name =
所以我在玩Scrapy,它是一组类,允许你进行web抓取,我想把一些数据放到数据库中,但我让truble在扩展scrapy库的同时导入MySQL方法。
下面是我的代码:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.http import Request
import MySQLdb
class test(BaseSpider): #if i don't extend the class the MySQL works, but the Sc
当试图通过('url‘:response.request.url)将url保存到字典中时,Scrapy从Scrapy中保存所有相同的url ()
我尝试过添加额外的参数,这些参数将传递真正的URL,但没有效果。
from scrapy import Spider
from scrapy.http import FormRequest
from scrapy.utils.response import open_in_browser
from scrapy import Request
import scrapy
from scrapy_splash import SplashReque
我已经使用scrapy创建了一个爬行器,我正在尝试将下载链接保存到一个(python)列表中,所以我以后可以使用downloadlist[1]调用一个列表条目。
但是scrapy将urls保存为项而不是列表。是否有方法将每个url附加到列表中?
from scrapy.selector import HtmlXPathSelector
from scrapy.spider import BaseSpider
from scrapy.http import Request
import scrapy
from scrapy.linkextractors import LinkExtractor
我用刮刮法从网站上提取数据。我使用MysqlDB将数据保存到mysql数据库中。该脚本适用于英语网站,但当我在瑞典网站上试用该脚本时,我得到:
self.db.query(insertion_query)
exceptions.UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 156:
ordinal not in range(128)
我已经在每个文件的顶部放置了下面一行,以表明国际字符的使用:#-编码: utf-8
但我还是犯了个错误。
我面临的问题是,Scrapy代码,特别是管道,给我提供了一个编程错误mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement'。
这是我的管道代码:
import csv
from scrapy.exceptions import DropItem
from scrapy import log
import sys
import mysql.connector
class CsvWriterPipeline(object):
def __init__(
我正在尝试掌握Scrapy回调的概念。我一直没有找到任何解决我的问题的答案,因为我需要在两个部分中产生两次项目,并且还可以回调。
这是我的蜘蛛:
import scrapy
import csv
from scrapycrawler.items import DmozItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.lxmlhtml import LxmlLinkExtractor
from scrapy.selector import Selector
f
我正在尝试使用scrapy从amazon获取数据,我可以在CSV中获得数据,但是我无法在mysql数据库中插入数据,请找到我的代码,我的蜘蛛是。
import scrapy
from craigslist_sample.items import AmazonDepartmentItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
class AmazonAllDepartmentSpider(scrapy.Spider)
我尝试在scrapinghub上运行我的爬行器,但运行时出现错误
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
result = g.send(result)
File "/usr/local/lib/python3.6/site-packages/scrapy/crawler.py", line 80, in cra
我创建了一个简单的scrapy项目,它可以抓取网页并将数据保存到postgresql中。我可以在我的解析方法中获取所有被刮过的数据,但是不调用pipline将数据保存到数据库中。这是我的蜘蛛解析方法。
def parse(self, response):
links = response.css('a::attr(href)').getall()
if links is not None:
for link in links:
yield response.follow(link,
scrapy是新手,我绝对需要一些指针。我已经看过了一些例子,但我没有得到一些基本的东西。我运行的是scrapy 1.0.3
蜘蛛:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from matrix_scrape.items import MatrixScrapeItem
class MySpider(BaseSpider):
name = "matrix"
allowed_domains = ["https://www.kic